|
|
|
// get_personal_jobs(&self, url_param: Id)
|
|
|
|
// report(&self, payload: impl OneOrVec<messaging::Reportable>)
|
|
|
|
// dl(&self, file: String)
|
|
|
|
// get_job(&self, job: Id)
|
|
|
|
// get_jobs(&self)
|
|
|
|
// get_agents(&self, agent: Option<Id>)
|
|
|
|
// update_agent(&self, agent: Agent)
|
|
|
|
// update_job(&self, job: FatJob)
|
|
|
|
// update_result(&self, result: AssignedJob)
|
|
|
|
// upload_jobs(&self, payload: impl OneOrVec<FatJob>)
|
|
|
|
// del(&self, item: Id)
|
|
|
|
// set_jobs(&self, agent: Id, job_idents: impl OneOrVec<String>)
|
|
|
|
// get_agent_jobs(&self, agent: Option<Id>)
|
|
|
|
// ping(&self)
|
|
|
|
|
|
|
|
use crate::fixtures::connections::*;
|
|
|
|
use u_lib::models::RawJob;
|
|
|
|
|
|
|
|
#[rstest]
|
|
|
|
#[tokio::test]
|
|
|
|
async fn test_jobs_endpoints(client_panel: &HttpClient) {
|
|
|
|
let job_alias = "henlo";
|
|
|
|
let mut job = RawJob::builder()
|
|
|
|
.with_shell("echo henlo")
|
|
|
|
.with_alias(job_alias)
|
|
|
|
.build()
|
|
|
|
.unwrap();
|
|
|
|
|
|
|
|
let job_id = job.job.id;
|
|
|
|
|
|
|
|
client_panel.upload_jobs([&job]).await.unwrap();
|
|
|
|
|
|
|
|
let fetched_job = client_panel.get_brief_job(job_id).await.unwrap();
|
|
|
|
assert_eq!(job, fetched_job);
|
|
|
|
|
|
|
|
job.job.alias = Some("henlo2".to_string());
|
|
|
|
client_panel.update_job(&job).await.unwrap();
|
|
|
|
|
|
|
|
let fetched_job = client_panel.get_brief_job(job_id).await.unwrap();
|
|
|
|
assert_eq!(job, fetched_job);
|
|
|
|
|
|
|
|
client_panel.del(job_id).await.unwrap();
|
|
|
|
|
|
|
|
let not_found_err = client_panel.get_brief_job(job_id).await.unwrap_err();
|
|
|
|
assert!(not_found_err.to_string().contains("404 Not Found"))
|
|
|
|
}
|