diff --git a/src/main/java/org/rundeck/api/RundeckClient.java b/src/main/java/org/rundeck/api/RundeckClient.java index 4edd396..b218702 100644 --- a/src/main/java/org/rundeck/api/RundeckClient.java +++ b/src/main/java/org/rundeck/api/RundeckClient.java @@ -157,15 +157,15 @@ public class RundeckClient implements Serializable { } int getApiVersion() { - return apiVersion; + return (apiVersion > 0 ? apiVersion : API_VERSION); } void setApiVersion(int apiVersion) { - this.apiVersion = apiVersion; + this.apiVersion = (apiVersion > 0 ? apiVersion : API_VERSION); } void setApiVersion(Version apiVersion) { - this.apiVersion = apiVersion.getVersionNumber(); + setApiVersion(apiVersion.getVersionNumber()); } String getApiEndpoint() { diff --git a/src/test/java/org/rundeck/api/RundeckClientTest.java b/src/test/java/org/rundeck/api/RundeckClientTest.java index 6865f1a..c5330be 100644 --- a/src/test/java/org/rundeck/api/RundeckClientTest.java +++ b/src/test/java/org/rundeck/api/RundeckClientTest.java @@ -61,6 +61,18 @@ public class RundeckClientTest { private RundeckClient client; + @Test + public void apiVersionDefaultLatest() { + RundeckClient blah = createClient("blah", 0); + Assert.assertEquals("/api/" + RundeckClient.API_VERSION, blah.getApiEndpoint()); + Assert.assertEquals(RundeckClient.API_VERSION, blah.getApiVersion()); + blah.setApiVersion(0); + Assert.assertEquals(RundeckClient.API_VERSION, blah.getApiVersion()); + blah.setApiVersion(-1); + Assert.assertEquals(RundeckClient.API_VERSION, blah.getApiVersion()); + blah.setApiVersion(RundeckClient.Version.V9.getVersionNumber()); + Assert.assertEquals(RundeckClient.Version.V9.getVersionNumber(), blah.getApiVersion()); + } @Test @Betamax(tape = "get_projects") public void getProjects() throws Exception {