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.1 KiB
37 lines
1.1 KiB
use crate::helpers::ENV; |
|
use u_lib::{ |
|
api::ClientHandler, config::get_self_id, jobs::fat_meta_to_thin, messaging::Reportable, |
|
models::*, |
|
}; |
|
use uuid::Uuid; |
|
|
|
pub struct RegisteredAgent { |
|
pub id: Uuid, |
|
} |
|
|
|
impl RegisteredAgent { |
|
pub async fn unregister(self) { |
|
let cli = ClientHandler::new(&ENV.u_server, None).await.unwrap(); |
|
cli.del(self.id).await.unwrap(); |
|
} |
|
} |
|
|
|
#[fixture] |
|
pub async fn register_agent() -> RegisteredAgent { |
|
let cli = ClientHandler::new(&ENV.u_server, None).await.unwrap(); |
|
let agent_id = get_self_id(); |
|
println!("registering agent {agent_id}"); |
|
let resp = cli |
|
.get_personal_jobs(agent_id) |
|
.await |
|
.unwrap() |
|
.pop() |
|
.unwrap(); |
|
let job_id = resp.job_id; |
|
let job = cli.get_job(job_id).await.unwrap(); |
|
assert_eq!(job.alias, Some("agent_hello".to_string())); |
|
let mut agent_data = AssignedJob::from((&fat_meta_to_thin(job).unwrap(), resp)); |
|
agent_data.set_result(&Agent::with_id(agent_id)); |
|
cli.report(Reportable::Assigned(agent_data)).await.unwrap(); |
|
RegisteredAgent { id: agent_id } |
|
}
|
|
|