aboutsummaryrefslogtreecommitdiffstats
path: root/rest-services/cbs-client/src/test/java/org/onap/dcaegen2/services/sdk/rest/services/cbs/client/api/CbsClientConfigurationTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'rest-services/cbs-client/src/test/java/org/onap/dcaegen2/services/sdk/rest/services/cbs/client/api/CbsClientConfigurationTest.java')
-rw-r--r--rest-services/cbs-client/src/test/java/org/onap/dcaegen2/services/sdk/rest/services/cbs/client/api/CbsClientConfigurationTest.java110
1 files changed, 105 insertions, 5 deletions
diff --git a/rest-services/cbs-client/src/test/java/org/onap/dcaegen2/services/sdk/rest/services/cbs/client/api/CbsClientConfigurationTest.java b/rest-services/cbs-client/src/test/java/org/onap/dcaegen2/services/sdk/rest/services/cbs/client/api/CbsClientConfigurationTest.java
index 7a683dac..2cc221ef 100644
--- a/rest-services/cbs-client/src/test/java/org/onap/dcaegen2/services/sdk/rest/services/cbs/client/api/CbsClientConfigurationTest.java
+++ b/rest-services/cbs-client/src/test/java/org/onap/dcaegen2/services/sdk/rest/services/cbs/client/api/CbsClientConfigurationTest.java
@@ -3,7 +3,6 @@
* DCAEGEN2-SERVICES-SDK
* =========================================================
* Copyright (C) 2019-2021 Nokia. All rights reserved.
- * Copyright (C) 2022 AT&T Intellectual Property. All rights reserved.
* =========================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -42,7 +41,11 @@ import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
*/
class CbsClientConfigurationTest {
- private static final String ENV_APPNAME = "HOSTNAME";
+ private static final String ENV_DCAE_CA_CERTPATH = "DCAE_CA_CERTPATH";
+ private static final String ENV_CONFIG_BINDING_SERVICE = "CONFIG_BINDING_SERVICE";
+ private static final String ENV_CONFIG_BINDING_SERVICE_SERVICE_PORT = "CONFIG_BINDING_SERVICE_SERVICE_PORT";
+ private static final String ENV_HOSTNAME = "HOSTNAME";
+ private static final String ENV_CONSUL_HOST = "CONSUL_HOST";
private static final String ENV_CBS_CLIENT_CONFIG_PATH = "CBS_CLIENT_CONFIG_PATH";
private static final String ENV_CBS_CLIENT_POLICY_PATH = "CBS_CLIENT_POLICY_PATH";
@@ -51,7 +54,38 @@ class CbsClientConfigurationTest {
@BeforeEach
void setUp(){
- envs.clear(ENV_APPNAME, ENV_CBS_CLIENT_CONFIG_PATH, ENV_CBS_CLIENT_POLICY_PATH);
+ envs.clear(ENV_DCAE_CA_CERTPATH, ENV_CONFIG_BINDING_SERVICE, ENV_CONFIG_BINDING_SERVICE_SERVICE_PORT,
+ ENV_HOSTNAME, ENV_CONSUL_HOST, ENV_CBS_CLIENT_CONFIG_PATH, ENV_CBS_CLIENT_POLICY_PATH);
+ }
+
+ @Test
+ void fromEnvironment_shouldReturnConfigurationForConnectionWithoutTls_when_DCAE_CA_CERTPATH_isEmpty() {
+ // given
+ createBasicValidEnvsConfiguration();
+ envs.set(ENV_DCAE_CA_CERTPATH, "");
+
+ // when
+ CbsClientConfiguration configuration = CbsClientConfiguration.fromEnvironment();
+
+ // then
+ assertThat(configuration.trustStoreKeys()).isEqualTo(null);
+ assertThat(configuration.protocol()).isEqualTo("http");
+ }
+
+ @Test
+ void fromEnvironment_shouldReturnConfigurationForConnectionOverTls_when_DCAE_CA_CERTPATH_isSet() throws URISyntaxException {
+ // given
+ envs.set(ENV_DCAE_CA_CERTPATH, preparePathToCertFile());
+ envs.set(ENV_CONFIG_BINDING_SERVICE, "config-binding-service");
+ envs.set(ENV_HOSTNAME, "dcae-prh");
+ envs.set(ENV_CONSUL_HOST, "consul-server.onap");
+
+ // when
+ CbsClientConfiguration configuration = CbsClientConfiguration.fromEnvironment();
+
+ // then
+ assertThat(configuration.trustStoreKeys()).isNotNull();
+ assertThat(configuration.protocol()).isEqualTo("https");
}
@Test
@@ -96,6 +130,22 @@ class CbsClientConfigurationTest {
assertThat(configuration.policySyncFilePath()).isEqualTo("/etc/policies/policies.json");
}
+ @Test
+ void fromEnvironment_shouldReturn_CbsClientConfigurationException_When_DCAE_CA_CERTPATH_is_Null() {
+ // given
+ envs.set(ENV_DCAE_CA_CERTPATH, null);
+ envs.set(ENV_CONFIG_BINDING_SERVICE_SERVICE_PORT, "9090");
+ envs.set(ENV_CONFIG_BINDING_SERVICE, "config-binding-service");
+ envs.set(ENV_HOSTNAME, "dcae-prh");
+ envs.set(ENV_CONSUL_HOST, "consul-server.onap");
+
+ // when
+ CbsClientConfiguration configuration = CbsClientConfiguration.fromEnvironment();
+
+ // then
+ assertThat(configuration.trustStoreKeys()).isNull();
+ assertThat(configuration.protocol()).isEqualTo("http");
+ }
@Test
void fromEnvironment_shouldReturn_CbsClientConfigurationException_WhenAllEnvVariablesAreMissing() {
@@ -103,7 +153,57 @@ class CbsClientConfigurationTest {
.isThrownBy(CbsClientConfiguration::fromEnvironment);
}
+ @Test
+ void fromEnvironment_shouldReturn_CbsClientConfigurationException_When_DCAE_CA_CERTPATH_isWrong() {
+ // given
+ envs.set(ENV_DCAE_CA_CERTPATH, "/home/cacert.pem");
+ envs.set(ENV_HOSTNAME, "dcae-prh");
+ envs.set(ENV_CONFIG_BINDING_SERVICE, "config-binding-service");
+ envs.set(ENV_CONSUL_HOST, "consul-server.onap");
+
+ // then
+ assertThatExceptionOfType(CbsClientConfigurationException.class)
+ .isThrownBy(CbsClientConfiguration::fromEnvironment)
+ .withMessageContaining("Required files do not exist in /home directory");
+ }
+
+ @Test
+ void fromEnvironment_shouldReturn_CbsClientConfigurationException_When_HOSTNAME_isMissing() throws URISyntaxException {
+ // given
+ envs.set(ENV_HOSTNAME, "");
+ envs.set(ENV_DCAE_CA_CERTPATH, preparePathToCertFile());
+ envs.set(ENV_CONFIG_BINDING_SERVICE, "config-binding-service");
+ envs.set(ENV_CONSUL_HOST, "consul-server.onap");
+
+ // then
+ assertThatExceptionOfType(CbsClientConfigurationException.class)
+ .isThrownBy(CbsClientConfiguration::fromEnvironment)
+ .withMessageContaining("Cannot read HOSTNAME from environment.");
+ }
+
+ @Test
+ void fromEnvironment_shouldReturn_CbsClientConfigurationException_When_CONFIG_BINDING_SERVICE_SERVICE_PORT_isEmpty() {
+ // given
+ envs.set(ENV_CONFIG_BINDING_SERVICE_SERVICE_PORT, "");
+ envs.set(ENV_DCAE_CA_CERTPATH, "");
+ envs.set(ENV_HOSTNAME, "dcae-prh");
+ envs.set(ENV_CONFIG_BINDING_SERVICE, "config-binding-service");
+ envs.set(ENV_CONSUL_HOST, "consul-server.onap");
+
+ // then
+ assertThatExceptionOfType(CbsClientConfigurationException.class)
+ .isThrownBy(CbsClientConfiguration::fromEnvironment)
+ .withMessageContaining("Cannot read CONFIG_BINDING_SERVICE_SERVICE_PORT from environment.");
+ }
+
private void createBasicValidEnvsConfiguration() {
- envs.set(ENV_APPNAME, "dcae-prh");
+ envs.set(ENV_CONFIG_BINDING_SERVICE, "config-binding-service");
+ envs.set(ENV_CONFIG_BINDING_SERVICE_SERVICE_PORT, "10000");
+ envs.set(ENV_HOSTNAME, "dcae-prh");
+ envs.set(ENV_CONSUL_HOST, "consul-server.onap");
+ }
+
+ private String preparePathToCertFile() throws URISyntaxException {
+ return Paths.get(Passwords.class.getResource("/test-certs/cacert.pem").toURI()) + "";
}
-}
+} \ No newline at end of file