diff --git a/symphony-client/src/main/java/org/symphonyoss/client/SymphonyClientConfig.java b/symphony-client/src/main/java/org/symphonyoss/client/SymphonyClientConfig.java index 2ea22c07..9559e36e 100644 --- a/symphony-client/src/main/java/org/symphonyoss/client/SymphonyClientConfig.java +++ b/symphony-client/src/main/java/org/symphonyoss/client/SymphonyClientConfig.java @@ -104,8 +104,28 @@ public void load() throws ProgramFault { } + /** + * This method is intended for use in unit tests that need to be able to treat this class as a DTO. + * + * @param id The configuration parameter to retrieve. + * @return The value of that configuration parameter, as stored in memory. + */ + public String rawGet(SymphonyClientConfigID id) + { + return(config.getProperty(id.getPropName())); + } + + + /** + * This method does some unusual shenanigans that probably belong elsewhere, so that this class can be a true DTO. + * A refactoring task for another day... + * + * @param id The configuration parameter to retrieve. + * @return The value of that configuration parameter, as stored in memory, or one of several Java "system properties" + * or environment variables with names vaguely similar to id. Basically non-deterministic, so YMMV. + */ public String get(SymphonyClientConfigID id) { - String value = config.getProperty(id.getPropName()); + String value = rawGet(id); if (value == null) value = System.getProperty(id.getPropName()); diff --git a/symphony-client/src/test/java/org/symphonyoss/client/SymphonyClientConfigBuilderTest.java b/symphony-client/src/test/java/org/symphonyoss/client/SymphonyClientConfigBuilderTest.java index 6f1eaf55..7b1b3371 100644 --- a/symphony-client/src/test/java/org/symphonyoss/client/SymphonyClientConfigBuilderTest.java +++ b/symphony-client/src/test/java/org/symphonyoss/client/SymphonyClientConfigBuilderTest.java @@ -38,18 +38,18 @@ public void fullConfigBuildTest() .withJMXHealthcheck(true) .build(); - assertEquals("dummyValue-SessionAuthUrl", config.get(SymphonyClientConfigID.SESSIONAUTH_URL)); - assertEquals("dummyValue-KeyAuthUrl", config.get(SymphonyClientConfigID.KEYAUTH_URL)); - assertEquals("dummyValue-PodUrl", config.get(SymphonyClientConfigID.POD_URL)); - assertEquals("dummyValue-AgentUrl", config.get(SymphonyClientConfigID.AGENT_URL)); - assertEquals("dummyValue-TrustStoreFile", config.get(SymphonyClientConfigID.TRUSTSTORE_FILE)); - assertEquals("dummyValue-TrustStorePassword", config.get(SymphonyClientConfigID.TRUSTSTORE_PASSWORD)); - assertEquals("dummyValue-UserEmail", config.get(SymphonyClientConfigID.USER_EMAIL)); - assertEquals("dummyValue-UserCertFile", config.get(SymphonyClientConfigID.USER_CERT_FILE)); - assertEquals("dummyValue-UserCertPassword", config.get(SymphonyClientConfigID.USER_CERT_PASSWORD)); - assertEquals("dummyValue-ReceiverEmail", config.get(SymphonyClientConfigID.RECEIVER_EMAIL)); - assertEquals(String.valueOf(false), config.get(SymphonyClientConfigID.DISABLE_SERVICES)); - assertEquals(String.valueOf(true), config.get(SymphonyClientConfigID.HEALTHCHECK_JMX_ENABLED)); + assertEquals("dummyValue-SessionAuthUrl", config.rawGet(SymphonyClientConfigID.SESSIONAUTH_URL)); + assertEquals("dummyValue-KeyAuthUrl", config.rawGet(SymphonyClientConfigID.KEYAUTH_URL)); + assertEquals("dummyValue-PodUrl", config.rawGet(SymphonyClientConfigID.POD_URL)); + assertEquals("dummyValue-AgentUrl", config.rawGet(SymphonyClientConfigID.AGENT_URL)); + assertEquals("dummyValue-TrustStoreFile", config.rawGet(SymphonyClientConfigID.TRUSTSTORE_FILE)); + assertEquals("dummyValue-TrustStorePassword", config.rawGet(SymphonyClientConfigID.TRUSTSTORE_PASSWORD)); + assertEquals("dummyValue-UserEmail", config.rawGet(SymphonyClientConfigID.USER_EMAIL)); + assertEquals("dummyValue-UserCertFile", config.rawGet(SymphonyClientConfigID.USER_CERT_FILE)); + assertEquals("dummyValue-UserCertPassword", config.rawGet(SymphonyClientConfigID.USER_CERT_PASSWORD)); + assertEquals("dummyValue-ReceiverEmail", config.rawGet(SymphonyClientConfigID.RECEIVER_EMAIL)); + assertEquals(String.valueOf(false), config.rawGet(SymphonyClientConfigID.DISABLE_SERVICES)); + assertEquals(String.valueOf(true), config.rawGet(SymphonyClientConfigID.HEALTHCHECK_JMX_ENABLED)); } @Test @@ -65,16 +65,16 @@ public void nullConfigBuildTest() .withReceiverEmail(null) .build(); - assertNull(null, config.get(SymphonyClientConfigID.SESSIONAUTH_URL)); - assertNull(null, config.get(SymphonyClientConfigID.KEYAUTH_URL)); - assertNull(null, config.get(SymphonyClientConfigID.POD_URL)); - assertNull(null, config.get(SymphonyClientConfigID.AGENT_URL)); - assertNull(null, config.get(SymphonyClientConfigID.TRUSTSTORE_FILE)); - assertNull(null, config.get(SymphonyClientConfigID.TRUSTSTORE_PASSWORD)); - assertNull(null, config.get(SymphonyClientConfigID.USER_EMAIL)); - assertNull(null, config.get(SymphonyClientConfigID.USER_CERT_FILE)); - assertNull(null, config.get(SymphonyClientConfigID.USER_CERT_PASSWORD)); - assertNull(null, config.get(SymphonyClientConfigID.RECEIVER_EMAIL)); + assertNull(config.rawGet(SymphonyClientConfigID.SESSIONAUTH_URL)); + assertNull(config.rawGet(SymphonyClientConfigID.KEYAUTH_URL)); + assertNull(config.rawGet(SymphonyClientConfigID.POD_URL)); + assertNull(config.rawGet(SymphonyClientConfigID.AGENT_URL)); + assertNull(config.rawGet(SymphonyClientConfigID.TRUSTSTORE_FILE)); + assertNull(config.rawGet(SymphonyClientConfigID.TRUSTSTORE_PASSWORD)); + assertNull(config.rawGet(SymphonyClientConfigID.USER_EMAIL)); + assertNull(config.rawGet(SymphonyClientConfigID.USER_CERT_FILE)); + assertNull(config.rawGet(SymphonyClientConfigID.USER_CERT_PASSWORD)); + assertNull(config.rawGet(SymphonyClientConfigID.RECEIVER_EMAIL)); } @Test @@ -89,7 +89,7 @@ public void defaultConfigBuildTest() .withUserCreds(null, null, null) .build(); - assertEquals(String.valueOf(false), config.get(SymphonyClientConfigID.DISABLE_SERVICES)); - assertEquals(String.valueOf(true), config.get(SymphonyClientConfigID.HEALTHCHECK_JMX_ENABLED)); + assertEquals(String.valueOf(false), config.rawGet(SymphonyClientConfigID.DISABLE_SERVICES)); + assertEquals(String.valueOf(true), config.rawGet(SymphonyClientConfigID.HEALTHCHECK_JMX_ENABLED)); } }