From 940917cb1c7715e176325c157625eed5f2c75e3d Mon Sep 17 00:00:00 2001 From: Scott Frederick Date: Mon, 11 Feb 2019 09:23:14 -0600 Subject: [PATCH] Add methods to check for version 2.0 vs 2.1. --- .../credhub/support/info/VersionInfo.java | 18 ++++++++++++++++ .../support/info/VersionInfoTests.java | 21 ++++++++++++++++++- 2 files changed, 38 insertions(+), 1 deletion(-) diff --git a/spring-credhub-core/src/main/java/org/springframework/credhub/support/info/VersionInfo.java b/spring-credhub-core/src/main/java/org/springframework/credhub/support/info/VersionInfo.java index 01c11c8..5c34651 100644 --- a/spring-credhub-core/src/main/java/org/springframework/credhub/support/info/VersionInfo.java +++ b/spring-credhub-core/src/main/java/org/springframework/credhub/support/info/VersionInfo.java @@ -66,4 +66,22 @@ public class VersionInfo { public boolean isVersion2() { return this.version.startsWith("2."); } + + /** + * Determine if the CredHub server implements the v2.0 API. + * + * @return {@code true} if the server implements the CredHub v2.1 API; {@code false} otherwise + */ + public boolean isVersion2_0() { + return this.version.startsWith("2.0"); + } + + /** + * Determine if the CredHub server implements the v2.1 API. + * + * @return {@code true} if the server implements the CredHub v2.1 API; {@code false} otherwise + */ + public boolean isVersion2_1() { + return this.version.startsWith("2.1"); + } } diff --git a/spring-credhub-core/src/test/java/org/springframework/credhub/support/info/VersionInfoTests.java b/spring-credhub-core/src/test/java/org/springframework/credhub/support/info/VersionInfoTests.java index 488e25c..59cbf28 100644 --- a/spring-credhub-core/src/test/java/org/springframework/credhub/support/info/VersionInfoTests.java +++ b/spring-credhub-core/src/test/java/org/springframework/credhub/support/info/VersionInfoTests.java @@ -33,10 +33,12 @@ public class VersionInfoTests extends JsonParsingUnitTestsBase { assertThat(versionInfo.getVersion()).isEqualTo("1.9.0"); assertThat(versionInfo.isVersion1()).isTrue(); assertThat(versionInfo.isVersion2()).isFalse(); + assertThat(versionInfo.isVersion2_0()).isFalse(); + assertThat(versionInfo.isVersion2_1()).isFalse(); } @Test - public void deserializeWithV2() { + public void deserializeWithV2_0() { String json = "{\n" + " \"version\": \"2.0.2\"\n" + "}"; @@ -46,5 +48,22 @@ public class VersionInfoTests extends JsonParsingUnitTestsBase { assertThat(versionInfo.getVersion()).isEqualTo("2.0.2"); assertThat(versionInfo.isVersion1()).isFalse(); assertThat(versionInfo.isVersion2()).isTrue(); + assertThat(versionInfo.isVersion2_0()).isTrue(); + assertThat(versionInfo.isVersion2_1()).isFalse(); + } + + @Test + public void deserializeWithV2_1() { + String json = "{\n" + + " \"version\": \"2.1.2\"\n" + + "}"; + + VersionInfo versionInfo = parseResponse(json, VersionInfo.class); + + assertThat(versionInfo.getVersion()).isEqualTo("2.1.2"); + assertThat(versionInfo.isVersion1()).isFalse(); + assertThat(versionInfo.isVersion2()).isTrue(); + assertThat(versionInfo.isVersion2_0()).isFalse(); + assertThat(versionInfo.isVersion2_1()).isTrue(); } } \ No newline at end of file