use super::connections::*; use super::run_async; use u_lib::{api::HttpClient, jobs::split_payload, messaging::Reportable, models::*, types::Id}; pub struct RegisteredAgent { pub id: Id, } #[fixture] #[once] pub fn registered_agent(client: &HttpClient) -> RegisteredAgent { run_async(async { let agent = Agent::with_current_platform(); let agent_id = agent.id; println!("registering agent {agent_id}"); let resp = client .get_personal_jobs(agent_id) .await .unwrap() .pop() .unwrap(); let job_id = resp.job_id; let job = client.get_job(job_id, true).await.unwrap(); assert_eq!(job.job.alias, Some("agent_hello".to_string())); let mut agent_data = AssignedJob::from((&split_payload(job).unwrap().job, resp)); agent_data.set_result(&agent); client .report(&Reportable::Assigned(agent_data)) .await .unwrap(); RegisteredAgent { id: agent_id } }) }