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.
38 lines
1.0 KiB
38 lines
1.0 KiB
use super::connections::*; |
|
use super::run_async; |
|
use u_lib::{api::HttpClient, 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}"); |
|
debug!("registering agent1 {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, Brief::No).await.unwrap(); |
|
|
|
assert_eq!(job.meta.alias, Some("agent_hello".to_string())); |
|
|
|
let mut agent_data = AssignedJob::from(&PreparedJob { job, ids: resp }); |
|
agent_data.set_result(&agent); |
|
|
|
client |
|
.report([Reportable::Assigned(agent_data)]) |
|
.await |
|
.unwrap(); |
|
|
|
RegisteredAgent { id: agent_id } |
|
}) |
|
}
|
|
|