use u_lib::{api::ClientHandler, messaging::Reportable, models::*}; use uuid::Uuid; pub struct RegisteredAgent { pub uid: Uuid, } impl RegisteredAgent { pub async fn unregister(self) { let cli = ClientHandler::new(None); cli.del(Some(self.uid)).await.unwrap(); } } #[fixture] pub async fn register_agent() -> RegisteredAgent { let cli = ClientHandler::new(None); let agent_uid = Uuid::new_v4(); let resp = cli .get_personal_jobs(Some(agent_uid)) .await .unwrap() .pop() .unwrap(); let job_id = resp.job_id; let resp = cli.get_jobs(Some(job_id)).await.unwrap().pop().unwrap(); assert_eq!(resp.alias, Some("agent_hello".to_string())); let agent_data = Agent { id: agent_uid, ..Default::default() }; cli.report(&[Reportable::Agent(agent_data)]).await.unwrap(); RegisteredAgent { uid: agent_uid } }