summaryrefslogtreecommitdiffstats
path: root/certService/src/test
diff options
context:
space:
mode:
authorBogumil Zebek <bogumil.zebek@nokia.com>2020-02-20 12:19:39 +0000
committerGerrit Code Review <gerrit@onap.org>2020-02-20 12:19:39 +0000
commit639c40968f329fc6526a35c9fca2817e9cf0faa7 (patch)
treea3b55c652303bc5d6e548d7e7f17adbef52edace /certService/src/test
parentff8b47138f19faf4ca62f1f3d0773565c8df6188 (diff)
parentd54223e7cd3026e260e06df39dd52c4368e7053d (diff)
Merge "Load CMP Servers config from volume"
Diffstat (limited to 'certService/src/test')
-rw-r--r--certService/src/test/java/org/onap/aaf/certservice/certification/configuration/CmpServersConfigLoaderTest.java85
-rw-r--r--certService/src/test/java/org/onap/aaf/certservice/certification/configuration/CmpServersConfigTest.java40
2 files changed, 118 insertions, 7 deletions
diff --git a/certService/src/test/java/org/onap/aaf/certservice/certification/configuration/CmpServersConfigLoaderTest.java b/certService/src/test/java/org/onap/aaf/certservice/certification/configuration/CmpServersConfigLoaderTest.java
new file mode 100644
index 00000000..f4421ffe
--- /dev/null
+++ b/certService/src/test/java/org/onap/aaf/certservice/certification/configuration/CmpServersConfigLoaderTest.java
@@ -0,0 +1,85 @@
+/*
+ * ============LICENSE_START=======================================================
+ * PROJECT
+ * ================================================================================
+ * Copyright (C) 2020 Nokia. 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.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.aaf.certservice.certification.configuration;
+
+import org.junit.jupiter.api.Test;
+import org.onap.aaf.certservice.certification.configuration.model.Cmpv2Server;
+
+import java.io.IOException;
+import java.util.List;
+import java.util.Map;
+
+import static org.assertj.core.api.Assertions.assertThat;
+
+class CmpServersConfigLoaderTest {
+ private static final String EXISTING_CONFIG_FILENAME = "cmpServers.json";
+ private static final String NONEXISTING_CONFIG_FILENAME = "nonexisting_cmpServers.json";
+ private static final Map<String, String> EXPECTED_FIRST_CMP_SERVER = Map.of(
+ "CA_NAME", "TEST",
+ "URL", "http://127.0.0.1/ejbca/publicweb/cmp/cmp",
+ "ISSUER_DN", "CN=ManagementCA",
+ "CA_MODE", "CLIENT",
+ "IAK", "xxx",
+ "RV", "yyy"
+ );
+ private static final Map<String, String> EXPECTED_SECOND_CMP_SERVER = Map.of(
+ "CA_NAME", "TEST2",
+ "URL", "http://127.0.0.1/ejbca/publicweb/cmp/cmpRA",
+ "ISSUER_DN", "CN=ManagementCA2",
+ "CA_MODE", "RA",
+ "IAK", "xxx",
+ "RV", "yyy"
+ );
+
+ @Test
+ public void shouldLoadCmpServersConfigWhenFileAvailable() throws IOException {
+ // Given
+ String path = getClass().getClassLoader().getResource(EXISTING_CONFIG_FILENAME).getFile();
+
+ // When
+ List<Cmpv2Server> cmpServers = new CmpServersConfigLoader().load(path);
+
+ // Then
+ assertThat(cmpServers).isNotNull();
+ assertThat(cmpServers).hasSize(2);
+ verifyThatCmpServerEquals(cmpServers.get(0), EXPECTED_FIRST_CMP_SERVER);
+ verifyThatCmpServerEquals(cmpServers.get(1), EXPECTED_SECOND_CMP_SERVER);
+ }
+
+ @Test()
+ public void shouldReturnEmptyListWhenFileMissing() {
+ // When
+ List<Cmpv2Server> cmpServers = new CmpServersConfigLoader().load(NONEXISTING_CONFIG_FILENAME);
+
+ // Then
+ assertThat(cmpServers).isNotNull();
+ assertThat(cmpServers).isEmpty();
+ }
+
+ private void verifyThatCmpServerEquals(Cmpv2Server cmpv2Server, Map<String, String> expected) {
+ assertThat(cmpv2Server.getCaName()).isEqualTo(expected.get("CA_NAME"));
+ assertThat(cmpv2Server.getUrl()).isEqualTo(expected.get("URL"));
+ assertThat(cmpv2Server.getIssuerDN()).isEqualTo(expected.get("ISSUER_DN"));
+ assertThat(cmpv2Server.getCaMode().name()).isEqualTo(expected.get("CA_MODE"));
+ assertThat(cmpv2Server.getAuthentication().getIak()).isEqualTo(expected.get("IAK"));
+ assertThat(cmpv2Server.getAuthentication().getRv()).isEqualTo(expected.get("RV"));
+ }
+} \ No newline at end of file
diff --git a/certService/src/test/java/org/onap/aaf/certservice/certification/configuration/CmpServersConfigTest.java b/certService/src/test/java/org/onap/aaf/certservice/certification/configuration/CmpServersConfigTest.java
index 4c9c5f66..43094f09 100644
--- a/certService/src/test/java/org/onap/aaf/certservice/certification/configuration/CmpServersConfigTest.java
+++ b/certService/src/test/java/org/onap/aaf/certservice/certification/configuration/CmpServersConfigTest.java
@@ -20,28 +20,54 @@
package org.onap.aaf.certservice.certification.configuration;
-import static org.assertj.core.api.Assertions.assertThat;
-
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
+import org.mockito.Mockito;
import org.onap.aaf.certservice.CertServiceApplication;
+import org.onap.aaf.certservice.certification.configuration.model.Cmpv2Server;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.mock.mockito.MockBean;
import org.springframework.test.context.ContextConfiguration;
+import org.springframework.test.context.TestPropertySource;
import org.springframework.test.context.junit.jupiter.SpringExtension;
+import java.util.List;
+
+import static org.assertj.core.api.Assertions.assertThat;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.startsWith;
+
@ExtendWith(SpringExtension.class)
@ContextConfiguration(classes = CertServiceApplication.class)
+@TestPropertySource(properties = {"app.config.path=/fake/path/to/config"})
class CmpServersConfigTest {
+ private static final List<Cmpv2Server> SAMPLE_CMP_SERVERS = List.of(
+ new Cmpv2Server(),
+ new Cmpv2Server()
+ );
+
+ @MockBean
+ private CmpServersConfigLoader cmpServersConfigLoader;
+
@Autowired
private CmpServersConfig cmpServersConfig;
@Test
- public void shouldLoadCmpServersConfig() {
+ public void shouldCallLoaderWithPathFromPropertiesWhenCreated() {
+ Mockito.verify(cmpServersConfigLoader).load(startsWith("/fake/path/to/config"));
+ }
+
+ @Test
+ public void shouldReturnLoadedServersWhenGetCalled() {
+ // Given
+ Mockito.when(cmpServersConfigLoader.load(any())).thenReturn(SAMPLE_CMP_SERVERS);
+ this.cmpServersConfig.loadConfiguration(); // Manual PostConstruct call
+
+ // When
+ List<Cmpv2Server> receivedCmpServers = this.cmpServersConfig.getCmpServers();
+
// Then
- assertThat(cmpServersConfig.getCmpServers()).isNotNull();
- assertThat(cmpServersConfig.getCmpServers().size()).isEqualTo(2);
- assertThat(cmpServersConfig.getCmpServers().get(0).getCaName()).isEqualTo("TEST");
- assertThat(cmpServersConfig.getCmpServers().get(1).getCaName()).isEqualTo("TEST2");
+ assertThat(receivedCmpServers).hasSize(SAMPLE_CMP_SERVERS.size());
}
} \ No newline at end of file