From 8cc48ecd89952080fba13be6020f65f662c69898 Mon Sep 17 00:00:00 2001 From: Greg Schueler Date: Mon, 10 Nov 2014 11:14:27 -0800 Subject: [PATCH] Test api v11 response for trigger job --- .../org/rundeck/api/RundeckClientTest.java | 37 +++++++++++++++++++ .../betamax/tapes/trigger_job_basic_v11.yaml | 24 ++++++++++++ .../tapes/trigger_job_basic_v11_patch.yaml | 24 ++++++++++++ 3 files changed, 85 insertions(+) create mode 100644 src/test/resources/betamax/tapes/trigger_job_basic_v11.yaml create mode 100644 src/test/resources/betamax/tapes/trigger_job_basic_v11_patch.yaml diff --git a/src/test/java/org/rundeck/api/RundeckClientTest.java b/src/test/java/org/rundeck/api/RundeckClientTest.java index d4d844e..97b743d 100644 --- a/src/test/java/org/rundeck/api/RundeckClientTest.java +++ b/src/test/java/org/rundeck/api/RundeckClientTest.java @@ -634,6 +634,43 @@ public class RundeckClientTest { Assert.assertEquals(RundeckExecution.ExecutionStatus.RUNNING, test.getStatus()); } + @Test + @Betamax(tape = "trigger_job_basic_v11") + public void triggerJobBasic_v11() throws Exception { + RundeckClient client = createClient(TEST_TOKEN_7, 11); + + final RundeckExecution test + = client.triggerJob(RunJobBuilder.builder().setJobId("bda8b956-43a5-4eef-9c67" + + "-3f27cc0ee1a5").build()); + + Assert.assertEquals((Long) 943L, test.getId()); + Assert.assertEquals(null, test.getArgstring()); + Assert.assertEquals(null, test.getAbortedBy()); + Assert.assertEquals("echo hi there ${job.username} ; sleep 90", test.getDescription()); + Assert.assertEquals("admin", test.getStartedBy()); + Assert.assertEquals(RundeckExecution.ExecutionStatus.RUNNING, test.getStatus()); + } + + /** + * Response for API v11 incorrectly includes <result>, but we should handle this case + * @throws Exception + */ + @Test + @Betamax(tape = "trigger_job_basic_v11_patch") + public void triggerJobBasic_v11_patch() throws Exception { + RundeckClient client = createClient(TEST_TOKEN_7, 11); + + final RundeckExecution test + = client.triggerJob(RunJobBuilder.builder().setJobId("bda8b956-43a5-4eef-9c67" + + "-3f27cc0ee1a5").build()); + + Assert.assertEquals((Long) 944L, test.getId()); + Assert.assertEquals(null, test.getArgstring()); + Assert.assertEquals(null, test.getAbortedBy()); + Assert.assertEquals("echo hi there ${job.username} ; sleep 90", test.getDescription()); + Assert.assertEquals("admin", test.getStartedBy()); + Assert.assertEquals(RundeckExecution.ExecutionStatus.RUNNING, test.getStatus()); + } @Test @Betamax(tape = "trigger_job_as_user") diff --git a/src/test/resources/betamax/tapes/trigger_job_basic_v11.yaml b/src/test/resources/betamax/tapes/trigger_job_basic_v11.yaml new file mode 100644 index 0000000..d6539c5 --- /dev/null +++ b/src/test/resources/betamax/tapes/trigger_job_basic_v11.yaml @@ -0,0 +1,24 @@ +!tape +name: trigger_job_basic_v11 +interactions: +- recorded: 2014-11-08T00:00:58.749Z + request: + method: GET + uri: http://rundeck.local:4440/api/11/job/bda8b956-43a5-4eef-9c67-3f27cc0ee1a5/run + headers: + Accept: text/xml + Host: rundeck.local:4440 + Proxy-Connection: Keep-Alive + User-Agent: RunDeck API Java Client 11 + X-RunDeck-Auth-Token: 8Dp9op111ER6opsDRkddvE86K9sE499s + response: + status: 200 + headers: + Content-Type: application/xml;charset=UTF-8 + Expires: Thu, 01 Jan 1970 00:00:00 GMT + Server: Jetty(7.6.0.v20120127) + Set-Cookie: JSESSIONID=19ui1v6otua3h1714jv2zbkbid;Path=/ + X-Rundeck-API-Version: '12' + X-Rundeck-API-XML-Response-Wrapper: 'false' + body: !!binary |- + PGV4ZWN1dGlvbnMgY291bnQ9JzEnPgogIDxleGVjdXRpb24gaWQ9Jzk0MycgaHJlZj0naHR0cDovL2RpZ25hbjo0NDQwL2V4ZWN1dGlvbi9mb2xsb3cvOTQzJyBzdGF0dXM9J3J1bm5pbmcnIHByb2plY3Q9J2RlbW8nPgogICAgPHVzZXI+YWRtaW48L3VzZXI+CiAgICA8ZGF0ZS1zdGFydGVkIHVuaXh0aW1lPScxNDE1NDA0ODU4NTE4Jz4yMDE0LTExLTA4VDAwOjAwOjU4WjwvZGF0ZS1zdGFydGVkPgogICAgPGpvYiBpZD0nYmRhOGI5NTYtNDNhNS00ZWVmLTljNjctM2YyN2NjMGVlMWE1Jz4KICAgICAgPG5hbWU+YSBqb2I8L25hbWU+CiAgICAgIDxncm91cD48L2dyb3VwPgogICAgICA8cHJvamVjdD5kZW1vPC9wcm9qZWN0PgogICAgICA8ZGVzY3JpcHRpb24+PC9kZXNjcmlwdGlvbj4KICAgIDwvam9iPgogICAgPGRlc2NyaXB0aW9uPmVjaG8gaGkgdGhlcmUgJHtqb2IudXNlcm5hbWV9IDsgc2xlZXAgOTA8L2Rlc2NyaXB0aW9uPgogICAgPGFyZ3N0cmluZyAvPgogIDwvZXhlY3V0aW9uPgo8L2V4ZWN1dGlvbnM+ diff --git a/src/test/resources/betamax/tapes/trigger_job_basic_v11_patch.yaml b/src/test/resources/betamax/tapes/trigger_job_basic_v11_patch.yaml new file mode 100644 index 0000000..7731908 --- /dev/null +++ b/src/test/resources/betamax/tapes/trigger_job_basic_v11_patch.yaml @@ -0,0 +1,24 @@ +!tape +name: trigger_job_basic_v11_patch +interactions: +- recorded: 2014-11-08T00:05:15.235Z + request: + method: GET + uri: http://rundeck.local:4440/api/11/job/bda8b956-43a5-4eef-9c67-3f27cc0ee1a5/run + headers: + Accept: text/xml + Host: rundeck.local:4440 + Proxy-Connection: Keep-Alive + User-Agent: RunDeck API Java Client 11 + X-RunDeck-Auth-Token: 8Dp9op111ER6opsDRkddvE86K9sE499s + response: + status: 200 + headers: + Content-Type: text/xml;charset=UTF-8 + Expires: Thu, 01 Jan 1970 00:00:00 GMT + Server: Jetty(7.6.0.v20120127) + Set-Cookie: JSESSIONID=1dfooymrwshimhr8fe4ncoc93;Path=/ + X-Rundeck-API-Version: '12' + body: "\n \n \n admin\n 2014-11-08T00:05:14Z\n\ + \ \n a job\n \n demo\n \n \n echo hi there ${job.username}\ + \ ; sleep 90\n \n \n \n"