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 } | 
						|
    }) | 
						|
}
 | 
						|
 |