From d93d73e1a3504a84cd4a017174a8665a739e8045 Mon Sep 17 00:00:00 2001 From: Teddy Wing Date: Wed, 8 Nov 2017 22:37:07 +0100 Subject: jenkins.rs: Add test for `request_job` This function will get a `Job` based on the response from requesting a single build job from the Jenkins API. --- src/jenkins.rs | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'src') diff --git a/src/jenkins.rs b/src/jenkins.rs index f8bd3bb..1879574 100644 --- a/src/jenkins.rs +++ b/src/jenkins.rs @@ -174,6 +174,30 @@ mod tests { ); } + #[test] + fn request_job_queries_a_job_from_the_jenkins_api() { + let mock = mock("GET", "/job/changes-branches/15/api/json") + .with_status(200) + .with_header("content-type", "application/json;charset=utf-8") + .with_body(r#" + { + "displayName": "2388-delete-the-codes-391af", + "result": "SUCCESS" + } + "#) + .create(); + + let job = request_job("http://jenkins.example.com/job/changes-branches/17".to_string()); + + let expected = Job { + display_name: "2388-delete-the-codes-391af".to_string(), + result: JobStatus::Success, + }; + + assert_eq!(job.display_name, expected.display_name); + assert_eq!(job.result, expected.result); + } + #[test] fn job_for_commit_returns_true_when_commit_matches_job() { let job = Job { -- cgit v1.2.3