You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
37 lines
1.2 KiB
37 lines
1.2 KiB
2 years ago
|
use super::connections::*;
|
||
|
use super::run_async;
|
||
1 year ago
|
use u_lib::unwrap_enum;
|
||
1 year ago
|
use u_lib::{api::HttpClient, jobs::split_payload, messaging::Reportable, models::*, types::Id};
|
||
3 years ago
|
|
||
|
pub struct RegisteredAgent {
|
||
2 years ago
|
pub id: Id,
|
||
3 years ago
|
}
|
||
|
|
||
|
#[fixture]
|
||
2 years ago
|
#[once]
|
||
2 years ago
|
pub fn registered_agent(client: &HttpClient) -> RegisteredAgent {
|
||
2 years ago
|
run_async(async {
|
||
1 year ago
|
let agent = Agent::with_current_platform();
|
||
|
let agent_id = agent.id;
|
||
2 years ago
|
println!("registering agent {agent_id}");
|
||
1 year ago
|
debug!("registering agent1 {agent_id}");
|
||
2 years ago
|
let resp = client
|
||
|
.get_personal_jobs(agent_id)
|
||
|
.await
|
||
|
.unwrap()
|
||
|
.pop()
|
||
|
.unwrap();
|
||
|
let job_id = resp.job_id;
|
||
1 year ago
|
let job = client.get_job(job_id, BriefMode::No).await.unwrap();
|
||
|
let job = unwrap_enum!(job, BriefOrFull::Full);
|
||
2 years ago
|
assert_eq!(job.job.alias, Some("agent_hello".to_string()));
|
||
|
let mut agent_data = AssignedJob::from((&split_payload(job).unwrap().job, resp));
|
||
1 year ago
|
agent_data.set_result(&agent);
|
||
2 years ago
|
client
|
||
1 year ago
|
.report([Reportable::Assigned(agent_data)])
|
||
2 years ago
|
.await
|
||
|
.unwrap();
|
||
|
RegisteredAgent { id: agent_id }
|
||
|
})
|
||
3 years ago
|
}
|