aboutsummaryrefslogtreecommitdiffstats
path: root/certService/src/test/java/org/onap/aaf/certservice/certification
diff options
context:
space:
mode:
Diffstat (limited to 'certService/src/test/java/org/onap/aaf/certservice/certification')
-rw-r--r--certService/src/test/java/org/onap/aaf/certservice/certification/CertificationModelFactoryTest.java220
-rw-r--r--certService/src/test/java/org/onap/aaf/certservice/certification/CertificationProviderTest.java132
-rw-r--r--certService/src/test/java/org/onap/aaf/certservice/certification/CsrModelFactoryTest.java147
-rw-r--r--certService/src/test/java/org/onap/aaf/certservice/certification/PemObjectFactoryTest.java76
-rw-r--r--certService/src/test/java/org/onap/aaf/certservice/certification/RsaContentSignerBuilderTest.java63
-rw-r--r--certService/src/test/java/org/onap/aaf/certservice/certification/TestData.java95
-rw-r--r--certService/src/test/java/org/onap/aaf/certservice/certification/TestUtils.java61
-rw-r--r--certService/src/test/java/org/onap/aaf/certservice/certification/X509CertificateBuilderTest.java69
-rw-r--r--certService/src/test/java/org/onap/aaf/certservice/certification/configuration/CmpServersConfigLoaderTest.java117
-rw-r--r--certService/src/test/java/org/onap/aaf/certservice/certification/configuration/CmpServersConfigTest.java236
-rw-r--r--certService/src/test/java/org/onap/aaf/certservice/certification/configuration/Cmpv2ServerProviderTest.java100
-rw-r--r--certService/src/test/java/org/onap/aaf/certservice/certification/configuration/validation/Cmpv2ServersConfigurationValidatorTest.java213
-rw-r--r--certService/src/test/java/org/onap/aaf/certservice/certification/configuration/validation/constraints/Cmpv2UrlValidatorTest.java57
-rw-r--r--certService/src/test/java/org/onap/aaf/certservice/certification/configuration/validation/constraints/violations/PortNumberViolationTest.java76
-rw-r--r--certService/src/test/java/org/onap/aaf/certservice/certification/configuration/validation/constraints/violations/RequestTypeViolationTest.java56
-rw-r--r--certService/src/test/java/org/onap/aaf/certservice/certification/model/CsrModelTest.java185
16 files changed, 0 insertions, 1903 deletions
diff --git a/certService/src/test/java/org/onap/aaf/certservice/certification/CertificationModelFactoryTest.java b/certService/src/test/java/org/onap/aaf/certservice/certification/CertificationModelFactoryTest.java
deleted file mode 100644
index a63c8e0e..00000000
--- a/certService/src/test/java/org/onap/aaf/certservice/certification/CertificationModelFactoryTest.java
+++ /dev/null
@@ -1,220 +0,0 @@
-/*
- * ============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;
-
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.extension.ExtendWith;
-import org.mockito.Mock;
-import org.mockito.junit.jupiter.MockitoExtension;
-import org.onap.aaf.certservice.certification.configuration.Cmpv2ServerProvider;
-import org.onap.aaf.certservice.certification.configuration.model.Cmpv2Server;
-import org.onap.aaf.certservice.certification.exception.Cmpv2ClientAdapterException;
-import org.onap.aaf.certservice.certification.exception.Cmpv2ServerNotFoundException;
-import org.onap.aaf.certservice.certification.exception.CsrDecryptionException;
-import org.onap.aaf.certservice.certification.exception.DecryptionException;
-import org.onap.aaf.certservice.certification.model.CertificationModel;
-import org.onap.aaf.certservice.certification.model.CsrModel;
-import org.onap.aaf.certservice.cmpv2client.exceptions.CmpClientException;
-
-import java.util.Arrays;
-import java.util.Base64;
-import java.util.List;
-
-import static org.assertj.core.api.Assertions.assertThat;
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertThrows;
-import static org.junit.jupiter.api.Assertions.assertTrue;
-import static org.mockito.ArgumentMatchers.eq;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.when;
-import static org.onap.aaf.certservice.certification.CertificationData.CA_CERT;
-import static org.onap.aaf.certservice.certification.CertificationData.ENTITY_CERT;
-import static org.onap.aaf.certservice.certification.CertificationData.INTERMEDIATE_CERT;
-import static org.onap.aaf.certservice.certification.CertificationData.EXTRA_CA_CERT;
-import static org.onap.aaf.certservice.certification.TestData.TEST_CSR;
-import static org.onap.aaf.certservice.certification.TestData.TEST_PK;
-import static org.onap.aaf.certservice.certification.TestData.TEST_WRONG_CSR;
-import static org.onap.aaf.certservice.certification.TestData.TEST_WRONG_PEM;
-
-@ExtendWith(MockitoExtension.class)
-class CertificationModelFactoryTest {
-
- private static final String TEST_CA = "testCA";
- private static final String ENCODED_CSR = getEncodedString(TEST_CSR);
- private static final String ENCODED_PK = getEncodedString(TEST_PK);
- private static final String ENCODED_WRONG_CSR = getEncodedString(TEST_WRONG_CSR);
- private static final String ENCODED_WRONG_PK = getEncodedString(TEST_WRONG_PEM);
-
- private CertificationModelFactory certificationModelFactory;
-
- @Mock
- private Cmpv2ServerProvider cmpv2ServerProvider;
- @Mock
- private CsrModelFactory csrModelFactory;
- @Mock
- private CertificationProvider certificationProvider;
-
-
- private static String getEncodedString(String testCsr) {
- return Base64.getEncoder().encodeToString(testCsr.getBytes());
- }
-
- @BeforeEach
- void setUp() {
- certificationModelFactory =
- new CertificationModelFactory(csrModelFactory, cmpv2ServerProvider, certificationProvider);
- }
-
- @Test
- void shouldCreateProperCertificationModelWhenGivenProperCsrModelAndCaName()
- throws CmpClientException, DecryptionException, Cmpv2ClientAdapterException {
-
- // Given
- CsrModel csrModel = mockCsrFactoryModelCreation();
- Cmpv2Server testServer = mockCmpv2ProviderServerSelection();
- mockCertificateProviderCertificateSigning(csrModel, testServer);
-
- // When
- CertificationModel certificationModel =
- certificationModelFactory.createCertificationModel(ENCODED_CSR, ENCODED_PK, TEST_CA);
-
- // Then
- assertEquals(2, certificationModel.getCertificateChain().size());
- assertThat(certificationModel.getCertificateChain()).contains(INTERMEDIATE_CERT, ENTITY_CERT);
- assertEquals(2, certificationModel.getTrustedCertificates().size());
- assertThat(certificationModel.getTrustedCertificates()).contains(CA_CERT, EXTRA_CA_CERT);
- }
-
- @Test
- void shouldThrowDecryptionExceptionWhenGivenWrongEncodedCsr()
- throws DecryptionException {
- // Given
- String expectedMessage = "Incorrect CSR, decryption failed";
- when(
- csrModelFactory.createCsrModel(
- eq(new CsrModelFactory.StringBase64(ENCODED_WRONG_CSR)),
- eq(new CsrModelFactory.StringBase64(ENCODED_WRONG_PK))
- )
- ).thenThrow(
- new CsrDecryptionException(expectedMessage)
- );
-
- // When
- Exception exception = assertThrows(
- DecryptionException.class, () ->
- certificationModelFactory.createCertificationModel(ENCODED_WRONG_CSR, ENCODED_WRONG_PK, TEST_CA)
- );
-
- // Then
- assertTrue(exception.getMessage().contains(expectedMessage));
- }
-
- @Test
- void shouldThrowCmpv2ServerNotFoundExceptionWhenGivenWrongCaName()
- throws DecryptionException {
- // Given
- String expectedMessage = "CA not found";
- mockCsrFactoryModelCreation();
- when(
- cmpv2ServerProvider.getCmpv2Server(TEST_CA)
- ).thenThrow(
- new Cmpv2ServerNotFoundException(expectedMessage)
- );
-
- // When
- Exception exception = assertThrows(
- Cmpv2ServerNotFoundException.class, () ->
- certificationModelFactory.createCertificationModel(ENCODED_CSR, ENCODED_PK, TEST_CA)
- );
-
- // Then
- assertTrue(exception.getMessage().contains(expectedMessage));
- }
-
- @Test
- void shouldThrowCmpClientExceptionWhenSigningCsrFailed()
- throws DecryptionException, CmpClientException, Cmpv2ClientAdapterException {
- // Given
- String expectedMessage = "failed to sign certificate";
- CsrModel csrModel = mockCsrFactoryModelCreation();
- Cmpv2Server testServer = mockCmpv2ProviderServerSelection();
- when(
- certificationProvider.signCsr(eq(csrModel), eq(testServer))
- ).thenThrow(
- new CmpClientException(expectedMessage)
- );
-
- // When
- Exception exception = assertThrows(
- CmpClientException.class, () ->
- certificationModelFactory.createCertificationModel(ENCODED_CSR, ENCODED_PK, TEST_CA)
- );
-
- // Then
- assertTrue(exception.getMessage().contains(expectedMessage));
- }
-
-
- private void mockCertificateProviderCertificateSigning(CsrModel csrModel, Cmpv2Server testServer)
- throws CmpClientException, Cmpv2ClientAdapterException {
- CertificationModel expectedCertificationModel = getCertificationModel();
- when(
- certificationProvider.signCsr(eq(csrModel), eq(testServer))
- ).thenReturn(expectedCertificationModel);
- }
-
- private Cmpv2Server mockCmpv2ProviderServerSelection() {
- Cmpv2Server testServer = getCmpv2Server();
- when(
- cmpv2ServerProvider.getCmpv2Server(eq(TEST_CA))
- ).thenReturn(testServer);
- return testServer;
- }
-
- private CsrModel mockCsrFactoryModelCreation()
- throws DecryptionException {
- CsrModel csrModel = getCsrModel();
- when(
- csrModelFactory.createCsrModel(
- eq(new CsrModelFactory.StringBase64(ENCODED_CSR)),
- eq(new CsrModelFactory.StringBase64(ENCODED_PK))
- )
- ).thenReturn(csrModel);
- return csrModel;
- }
-
- private Cmpv2Server getCmpv2Server() {
- return new Cmpv2Server();
- }
-
- private CsrModel getCsrModel() {
- return mock(CsrModel.class);
- }
-
- private CertificationModel getCertificationModel() {
- List<String> testTrustedCertificates = Arrays.asList(CA_CERT, EXTRA_CA_CERT);
- List<String> testCertificationChain = Arrays.asList(INTERMEDIATE_CERT, ENTITY_CERT);
- return new CertificationModel(testCertificationChain, testTrustedCertificates);
- }
-
-
-}
diff --git a/certService/src/test/java/org/onap/aaf/certservice/certification/CertificationProviderTest.java b/certService/src/test/java/org/onap/aaf/certservice/certification/CertificationProviderTest.java
deleted file mode 100644
index a590c5ea..00000000
--- a/certService/src/test/java/org/onap/aaf/certservice/certification/CertificationProviderTest.java
+++ /dev/null
@@ -1,132 +0,0 @@
-/*
- * ============LICENSE_START=======================================================
- * AAF Certification Service
- * ================================================================================
- * 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;
-
-import org.apache.commons.io.IOUtils;
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.extension.ExtendWith;
-import org.mockito.Mock;
-import org.mockito.junit.jupiter.MockitoExtension;
-import org.onap.aaf.certservice.certification.configuration.model.Cmpv2Server;
-import org.onap.aaf.certservice.certification.model.CertificationModel;
-import org.onap.aaf.certservice.certification.model.CsrModel;
-import org.onap.aaf.certservice.cmpv2client.api.CmpClient;
-import org.onap.aaf.certservice.cmpv2client.exceptions.CmpClientException;
-import org.onap.aaf.certservice.cmpv2client.model.Cmpv2CertificationModel;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.nio.charset.StandardCharsets;
-import java.security.NoSuchProviderException;
-import java.security.cert.CertificateException;
-import java.security.cert.X509Certificate;
-import java.util.Collections;
-import java.util.Objects;
-
-import static org.assertj.core.api.Assertions.assertThat;
-import static org.junit.jupiter.api.Assertions.assertThrows;
-import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.Mockito.when;
-
-@ExtendWith(MockitoExtension.class)
-class CertificationProviderTest {
-
- @Mock
- private CsrModel csrModel;
- @Mock
- private Cmpv2Server server;
- @Mock
- private CsrModel testCsrModel;
- @Mock
- private Cmpv2Server testServer;
- @Mock
- private CmpClient cmpClient;
-
- private CertificationProvider certificationProvider;
-
- @BeforeEach
- public void init() {
- certificationProvider = new CertificationProvider(cmpClient);
- }
-
- @Test
- void shouldConvertToCertificationModel()
- throws CertificateException, NoSuchProviderException, IOException, CmpClientException {
- // When
- when(
- cmpClient.createCertificate(any(CsrModel.class), any(Cmpv2Server.class))
- ).thenReturn(createCorrectClientResponse());
-
- CertificationModel certificationModel = certificationProvider.signCsr(csrModel, server);
-
- // Then
- InputStream certificate = getClass().getClassLoader().getResourceAsStream("certificateModelChain.first");
- InputStream trustedCertificate =
- getClass().getClassLoader().getResourceAsStream("trustedCertificatesModel.first");
- String certificateModel = removeLineEndings(certificationModel.getCertificateChain().get(0));
- String expectedCertificate =
- removeLineEndings(IOUtils.toString(Objects.requireNonNull(certificate), StandardCharsets.UTF_8));
- String trustedCertificateModel = removeLineEndings(certificationModel.getTrustedCertificates().get(0));
- String expectedTrustedCertificate =
- removeLineEndings(IOUtils.toString(Objects.requireNonNull(trustedCertificate), StandardCharsets.UTF_8));
-
- assertThat(certificateModel).isEqualTo(expectedCertificate);
- assertThat(trustedCertificateModel).isEqualTo(expectedTrustedCertificate);
- }
-
-
- @Test
- void certificationProviderThrowCmpClientWhenCallingClientFails()
- throws CmpClientException {
- // Given
- String expectedErrorMessage = "connecting to CMP client failed";
-
- when(
- cmpClient.createCertificate(any(CsrModel.class), any(Cmpv2Server.class))
- ).thenThrow(new CmpClientException(expectedErrorMessage));
-
- // When
- Exception exception = assertThrows(
- CmpClientException.class, () ->
- certificationProvider.signCsr(testCsrModel, testServer)
- );
-
- // Then
- assertThat(exception.getMessage()).isEqualTo(expectedErrorMessage);
- }
-
- private Cmpv2CertificationModel createCorrectClientResponse()
- throws CertificateException, NoSuchProviderException {
- InputStream certificateChain = getClass().getClassLoader().getResourceAsStream("certificateChain.first");
- InputStream trustedCertificate = getClass().getClassLoader().getResourceAsStream("trustedCertificates.first");
- X509Certificate x509Certificate = new CertificateFactoryProvider().generateCertificate(certificateChain);
- X509Certificate x509TrustedCertificate =
- new CertificateFactoryProvider().generateCertificate(trustedCertificate);
- return new Cmpv2CertificationModel(
- Collections.singletonList(x509Certificate),
- Collections.singletonList(x509TrustedCertificate));
- }
-
- private String removeLineEndings(String string) {
- return string.replace("\n", "").replace("\r", "");
- }
-}
diff --git a/certService/src/test/java/org/onap/aaf/certservice/certification/CsrModelFactoryTest.java b/certService/src/test/java/org/onap/aaf/certservice/certification/CsrModelFactoryTest.java
deleted file mode 100644
index d2c3c54c..00000000
--- a/certService/src/test/java/org/onap/aaf/certservice/certification/CsrModelFactoryTest.java
+++ /dev/null
@@ -1,147 +0,0 @@
-/*
- * ============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;
-
-import org.bouncycastle.util.encoders.Base64;
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Test;
-import org.onap.aaf.certservice.certification.CsrModelFactory.StringBase64;
-import org.onap.aaf.certservice.certification.exception.CsrDecryptionException;
-import org.onap.aaf.certservice.certification.exception.DecryptionException;
-import org.onap.aaf.certservice.certification.exception.KeyDecryptionException;
-import org.onap.aaf.certservice.certification.model.CsrModel;
-
-import static org.junit.jupiter.api.Assertions.assertThrows;
-import static org.junit.jupiter.api.Assertions.assertTrue;
-import static org.onap.aaf.certservice.certification.TestData.TEST_CSR;
-import static org.onap.aaf.certservice.certification.TestData.TEST_PK;
-import static org.onap.aaf.certservice.certification.TestData.TEST_WRONG_CSR;
-import static org.onap.aaf.certservice.certification.TestData.TEST_WRONG_PEM;
-
-
-class CsrModelFactoryTest {
-
- private CsrModelFactory csrModelFactory;
-
- @BeforeEach
- void setUp() {
- csrModelFactory = new CsrModelFactory();
- }
-
- @Test
- void shouldDecryptCsrAndReturnStringWithDataAboutIt() throws DecryptionException {
- // given
- String encoderCsr = new String(Base64.encode(TEST_CSR.getBytes()));
- String encoderPK = new String(Base64.encode(TEST_PK.getBytes()));
-
- // when
- CsrModel decryptedCsr = csrModelFactory
- .createCsrModel(new StringBase64(encoderCsr), new StringBase64(encoderPK));
-
- // then
- assertTrue(
- decryptedCsr.toString()
- .contains(
- "C=US,ST=California,L=San-Francisco,O=Linux-Foundation,"
- + "OU=ONAP,CN=onap.org,E=tester@onap.org")
- &&
- decryptedCsr.toString()
- .contains("SANs: [gerrit.onap.org, test.onap.org, onap.com]")
- );
- }
-
- @Test
- void shouldThrowCsrDecryptionExceptionWhenCsrIsIncorrect() {
- // given
- String encoderPK = new String(Base64.encode(TEST_PK.getBytes()));
- String wrongCsr = new String(Base64.encode(TEST_WRONG_CSR.getBytes()));
-
- // when
- Exception exception = assertThrows(
- CsrDecryptionException.class, () -> csrModelFactory
- .createCsrModel(new StringBase64(wrongCsr), new StringBase64(encoderPK))
- );
-
- String expectedMessage = "Incorrect CSR, decryption failed";
- String actualMessage = exception.getMessage();
-
- // then
- assertTrue(actualMessage.contains(expectedMessage));
- }
-
- @Test
- void shouldThrowKeyDecryptionExceptionWhenKeyIsIncorrect() {
- // given
- String encoderPK = new String(Base64.encode(TEST_WRONG_PEM.getBytes()));
- String wrongCsr = new String(Base64.encode(TEST_CSR.getBytes()));
-
- // when
- Exception exception = assertThrows(
- KeyDecryptionException.class, () -> csrModelFactory
- .createCsrModel(new StringBase64(wrongCsr), new StringBase64(encoderPK))
- );
-
- String expectedMessage = "Incorrect Key, decryption failed";
- String actualMessage = exception.getMessage();
-
- // then
- assertTrue(actualMessage.contains(expectedMessage));
- }
-
-
- @Test
- void shouldThrowCsrDecryptionExceptionWhenCsrIsNotInBase64Encoding() {
- // given
- String encoderPK = new String(Base64.encode(TEST_PK.getBytes()));
- String wrongCsr = "Not Base 64 Csr";
-
- // when
- Exception exception = assertThrows(
- CsrDecryptionException.class, () -> csrModelFactory
- .createCsrModel(new StringBase64(wrongCsr), new StringBase64(encoderPK))
- );
-
- String expectedMessage = "Incorrect CSR, decryption failed";
- String actualMessage = exception.getMessage();
-
- // then
- assertTrue(actualMessage.contains(expectedMessage));
- }
-
- @Test
- void shouldThrowKeyDecryptionExceptionWhenPkIsNotInBase64Encoding() {
- // given
- String encoderPK = "Not Base64 Key";
- String wrongCsr = new String(Base64.encode(TEST_CSR.getBytes()));
-
- // when
- Exception exception = assertThrows(
- KeyDecryptionException.class, () -> csrModelFactory
- .createCsrModel(new StringBase64(wrongCsr), new StringBase64(encoderPK))
- );
-
- String expectedMessage = "Incorrect Key, decryption failed";
- String actualMessage = exception.getMessage();
-
- // then
- assertTrue(actualMessage.contains(expectedMessage));
- }
-}
diff --git a/certService/src/test/java/org/onap/aaf/certservice/certification/PemObjectFactoryTest.java b/certService/src/test/java/org/onap/aaf/certservice/certification/PemObjectFactoryTest.java
deleted file mode 100644
index 90151b6d..00000000
--- a/certService/src/test/java/org/onap/aaf/certservice/certification/PemObjectFactoryTest.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * ============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;
-
-import org.bouncycastle.util.io.pem.PemObject;
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Test;
-import org.onap.aaf.certservice.certification.exception.DecryptionException;
-
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertThrows;
-import static org.junit.jupiter.api.Assertions.assertTrue;
-import static org.onap.aaf.certservice.certification.TestData.TEST_PEM;
-import static org.onap.aaf.certservice.certification.TestData.TEST_WRONG_PEM;
-import static org.onap.aaf.certservice.certification.TestUtils.pemObjectToString;
-
-
-class PemObjectFactoryTest {
-
-
- private PemObjectFactory pemObjectFactory;
-
- @BeforeEach
- void setUp() {
- pemObjectFactory = new PemObjectFactory();
- }
-
- @Test
- void shouldTransformStringInToPemObjectAndBackToString() throws DecryptionException {
- // when
- PemObject pemObject = pemObjectFactory.createPemObject(TEST_PEM).orElseThrow(
- () -> new DecryptionException("Pem decryption failed")
- );
- String parsedPemObject = pemObjectToString(pemObject);
-
- // then
- assertEquals(TEST_PEM, parsedPemObject);
- }
-
- @Test
- void shouldThrowExceptionWhenParsingPemFailed() {
- // given
- String expectedMessage = "Unable to create PEM";
-
- // when
- Exception exception = assertThrows(
- DecryptionException.class, () -> pemObjectFactory.createPemObject(TEST_WRONG_PEM).orElseThrow(
- () -> new DecryptionException(expectedMessage)
- )
- );
-
- String actualMessage = exception.getMessage();
-
- // then
- assertTrue(actualMessage.contains(expectedMessage));
- }
-
-}
diff --git a/certService/src/test/java/org/onap/aaf/certservice/certification/RsaContentSignerBuilderTest.java b/certService/src/test/java/org/onap/aaf/certservice/certification/RsaContentSignerBuilderTest.java
deleted file mode 100644
index 0083968d..00000000
--- a/certService/src/test/java/org/onap/aaf/certservice/certification/RsaContentSignerBuilderTest.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * ============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;
-
-import org.bouncycastle.operator.ContentSigner;
-import org.bouncycastle.operator.OperatorCreationException;
-import org.bouncycastle.pkcs.PKCS10CertificationRequest;
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Test;
-import org.onap.aaf.certservice.certification.RsaContentSignerBuilder;
-import org.onap.aaf.certservice.certification.exception.DecryptionException;
-import org.onap.aaf.certservice.certification.model.CsrModel;
-
-import java.io.IOException;
-import java.security.PrivateKey;
-
-import static org.assertj.core.api.Assertions.assertThat;
-import static org.onap.aaf.certservice.certification.TestUtils.createCsrModel;
-
-class RsaContentSignerBuilderTest {
-
- private RsaContentSignerBuilder rsaContentSignerBuilder;
-
- @BeforeEach
- void setUp() {
- rsaContentSignerBuilder = new RsaContentSignerBuilder();
- }
-
- @Test
- void shouldBuildProperContentSignerWhenProvidedCertificationRequestAndPrivateKey()
- throws IOException, OperatorCreationException, DecryptionException {
- // Given
- CsrModel testCsrModel = createCsrModel();
- PKCS10CertificationRequest testCertificationRequest = testCsrModel.getCsr();
- PrivateKey testPrivateKey = testCsrModel.getPrivateKey();
-
- // When
- ContentSigner createdContentSigner = rsaContentSignerBuilder.build(testCertificationRequest, testPrivateKey);
-
- // Then
- assertThat(createdContentSigner.getAlgorithmIdentifier())
- .isEqualTo(testCertificationRequest.getSignatureAlgorithm());
- }
-
-}
diff --git a/certService/src/test/java/org/onap/aaf/certservice/certification/TestData.java b/certService/src/test/java/org/onap/aaf/certservice/certification/TestData.java
deleted file mode 100644
index 6fea5b5a..00000000
--- a/certService/src/test/java/org/onap/aaf/certservice/certification/TestData.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * ============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;
-
-public final class TestData {
-
- private TestData() {
- }
-
- public static final String TEST_CSR = ""
- + "-----BEGIN CERTIFICATE REQUEST-----\n"
- + "MIIDIzCCAgsCAQAwgZcxCzAJBgNVBAYTAlVTMRMwEQYDVQQIDApDYWxpZm9ybmlh\n"
- + "MRYwFAYDVQQHDA1TYW4tRnJhbmNpc2NvMRkwFwYDVQQKDBBMaW51eC1Gb3VuZGF0\n"
- + "aW9uMQ0wCwYDVQQLDARPTkFQMREwDwYDVQQDDAhvbmFwLm9yZzEeMBwGCSqGSIb3\n"
- + "DQEJARYPdGVzdGVyQG9uYXAub3JnMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\n"
- + "CgKCAQEA13K1LrQ1L6eL7B8K4kucNct0sSjZe7Ww91V40s6mjcWajeFJk+pObZKz\n"
- + "BfnImkVJwxdNMDD6tX16wykbGfQPyh4BBiAjLVk9XSeoPHFRBQ4LKTuyPtXhEXyr\n"
- + "qwatYXGWZE554qq64pbReddOUJHgMc38SrOk/eMAKxB0uRrXpA0mPH7zwIZ4X8g2\n"
- + "PoxJKI1BSYc8kOvvujsGSMw3e5nS8A+doFUwVi3jJMnaVCoZrvJbtREfXHZqBLQ5\n"
- + "XQ8mNpIFfmGYF/tvW/O6LBdlZkuAQ9i4FBgf5+HdIVZOXrn09ksIZxW6vxIvAVi0\n"
- + "5AOSgXictyphcNP2i/erBeCQCVB7MwIDAQABoEYwRAYJKoZIhvcNAQkOMTcwNTAz\n"
- + "BgNVHREELDAqgg9nZXJyaXQub25hcC5vcmeCDXRlc3Qub25hcC5vcmeCCG9uYXAu\n"
- + "Y29tMA0GCSqGSIb3DQEBCwUAA4IBAQBXH2nRwodQRJTuyrLe/VSg3PUdcPyAx2Ew\n"
- + "63tWiGO+qWo8rK2a9Rr/t/zkQe2lx6NHqcMc2Rt6NeKGbrAvHGxTiYM35gktBdxG\n"
- + "UaQS1ymrBWHAwbC+kv78r+5lCfafNm/EVdhUZbEw+crsw2wx4iKEW0byS4Ln0o5g\n"
- + "aXVUW3i4G5FaYiYBUIDsujDdnH1IoxunEA6pDzDv1h6R9/TYu6Se8HToREIjOPBZ\n"
- + "pDI5lDRu0YmI8r+TmAU3tTT1sY2WVxYDnhJut9ofegfMPQV4FIohxtPcCfoLSWti\n"
- + "ml6jbcFqDvlzq3B3CXH9HU3jdJt33iSjCQGsSqy6bmCOdMS6XTPU\n"
- + "-----END CERTIFICATE REQUEST-----\n";
-
- public static final String TEST_WRONG_CSR = ""
- + "-----BEGIN CERTIFICATE REQUEST-----\n"
- + "MIIDIzCCAgsCAQAwgZcxCzAJBgNVBAYTAlVTMRMwEQYDVQQIDApDYWxpZm9ybmlh\n"
- + "MRYwFAYDVQQHDA1TYW4tRnJhbmNpc2NvMRkwFwYDVQQKDBBMaW51eC1Gb3VuZGF0\n"
- + "aW9uMQ0wCwYDVQQLDARPTkFQMREwDwYDVQQDDAhvbmFwLm9yZzEeMBwGCSqGSIb3\n"
- + "-----END CERTIFICATE REQUEST-----\n";
-
- public static final String TEST_PK = "-----BEGIN PRIVATE KEY-----\n"
- + "MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQDXcrUutDUvp4vs\n"
- + "HwriS5w1y3SxKNl7tbD3VXjSzqaNxZqN4UmT6k5tkrMF+ciaRUnDF00wMPq1fXrD\n"
- + "KRsZ9A/KHgEGICMtWT1dJ6g8cVEFDgspO7I+1eERfKurBq1hcZZkTnniqrriltF5\n"
- + "105QkeAxzfxKs6T94wArEHS5GtekDSY8fvPAhnhfyDY+jEkojUFJhzyQ6++6OwZI\n"
- + "zDd7mdLwD52gVTBWLeMkydpUKhmu8lu1ER9cdmoEtDldDyY2kgV+YZgX+29b87os\n"
- + "F2VmS4BD2LgUGB/n4d0hVk5eufT2SwhnFbq/Ei8BWLTkA5KBeJy3KmFw0/aL96sF\n"
- + "4JAJUHszAgMBAAECggEAJ1StdsU3IGf5xzUzi3Q6JCfsOZs3eLoGgGB+Gh3XkfIM\n"
- + "8PG7uOEBSEeLnv+me2NCv/a1BKMsYY1yp8YNSIOhjkhD75ZWVaUA6syejcox/DZA\n"
- + "G1rmg0oQOF0GCcbCSBOwXMdmwNZiH5Ng0llX1qWKxAzSjeCVsjOKiFIMvO4Fh9D4\n"
- + "9Io6/dRRNCxB6MEs1GT5IDfCV2PGDIalJ3znFqDnfdu9RDEDfNVHSUr6Jdu3Hrf5\n"
- + "3qCcSEkMGuXYLotCNtTP1x0H0wW5gVpcbQEb29qdmHL1qkp3UiA3afsHnO/3k0gv\n"
- + "gV5FxaldugyZAjqUGERdKaY6BMDJkDuu0qD0tPQK4QKBgQDuP5X5BcQ4iHNej+il\n"
- + "xxT8QaEcZj0YEzcXzfm3ztZP7g+Jc1MbQXh6BuHLkXG5LeCwdnmk+LUD0MLoUSm3\n"
- + "N2ZdtVuOHX7VEBrhrTwK/kMDpC7ganQzfvgOr9WQGmgGMRiUYAyK1J/x78yX967Z\n"
- + "IAzdVZ/JSDdsyA983JckLL7CPQKBgQDngDkEJKYGfDt2mfItD8c8nhczGbDdoyYh\n"
- + "s93ppTtgzFoNgFL4y/DOvisWMGgoeeYXSgH5uoPv6yY7IIkQzYySY6qQ3gmk1/X+\n"
- + "bO+IsKVtlHBzqqojFteg3MfVojisMoAx6y5aBw1BXE2nAU8yWBTtuk+3KgGn9Oxk\n"
- + "+Z4rdP06LwKBgA4b09zIW6NhaTubWBKhJHv/wvO0lj+bu7J8LyKUbBqVpXPlUXGW\n"
- + "wfSv/aUZetuVfO3WRkPfupB8R16Ml+TSsgwwljhnRMCHUKA2qwyXnA5WJbSCeVkn\n"
- + "Vrc/8Gy1M53SQHtg6L079DDWm44QS9ltzXU6Adlgnm+htVEWmxi4UZ+dAoGAfr6z\n"
- + "+LG7+GcCA2AruEIgOe7wErkpHV+am+8nOymMxeV8FFJCmxbFQ9vYKTDdhfOfZvbM\n"
- + "+BYG8E8VQmAAyyNOqENK+j+mlgrrEp4/0t2r5L/VhW5V8hoqelcGTc+gKZ8IkswJ\n"
- + "N58Owc8wcJQF8TFKXBGaXVTxTSyKVIpZ778AeV8CgYAAvuicDkdwWv5EhDFf3aTI\n"
- + "wfRFYflA6oiygnI63HzVyY4a+SyZs+nQpB5HBDo+Lyz8RaVRC5E7jQ8kiXJpxAu7\n"
- + "1wnspz+pa3q61yR32N+zGuub71FXdLWSOlys6rzJqvqYihKxY22C2TyDyBCR2tMj\n"
- + "mdnshXNAJfKkfghkJhFHrg==\n"
- + "-----END PRIVATE KEY-----";
-
- public static final String TEST_PEM = ""
- + "-----BEGIN CERTIFICATE REQUEST-----\n"
- + "MIIDIzCCAgsCAQAwgZcxCzAJBgNVBAYTAlVTMRMwEQYDVQQIDApDYWxpZm9ybmlh\n"
- + "-----END CERTIFICATE REQUEST-----\n";
-
- public static final String TEST_WRONG_PEM = ""
- + "-----BEGIN WRONG REQUEST-----"
- + "MIIDIzCCAgsCAQAwgZcxCzAJBgNVBAYTAlVTMRMwEQYDVQQIDApDYWxpZm9ybmlh"
- + "-----END WRONG REQUEST-----";
-
-}
diff --git a/certService/src/test/java/org/onap/aaf/certservice/certification/TestUtils.java b/certService/src/test/java/org/onap/aaf/certservice/certification/TestUtils.java
deleted file mode 100644
index a6e55c57..00000000
--- a/certService/src/test/java/org/onap/aaf/certservice/certification/TestUtils.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * ============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;
-
-import org.bouncycastle.util.encoders.Base64;
-import org.bouncycastle.util.io.pem.PemObject;
-import org.bouncycastle.util.io.pem.PemWriter;
-import org.onap.aaf.certservice.certification.exception.DecryptionException;
-import org.onap.aaf.certservice.certification.exception.KeyDecryptionException;
-import org.onap.aaf.certservice.certification.model.CsrModel;
-
-import java.io.IOException;
-import java.io.StringWriter;
-
-import static org.onap.aaf.certservice.certification.TestData.TEST_CSR;
-import static org.onap.aaf.certservice.certification.TestData.TEST_PK;
-
-
-public final class TestUtils {
-
- private TestUtils() {
- }
-
- public static String pemObjectToString(PemObject pemObject) throws KeyDecryptionException {
- try (StringWriter output = new StringWriter()) {
- PemWriter pemWriter = new PemWriter(output);
- pemWriter.writeObject(pemObject);
- pemWriter.close();
- return output.getBuffer().toString();
-
- } catch (IOException e) {
- throw new KeyDecryptionException("Writing PAM Object to string failed", e);
- }
- }
-
- public static CsrModel createCsrModel() throws DecryptionException {
- CsrModelFactory csrModelFactory = new CsrModelFactory();
- String encoderCsr = new String(Base64.encode(TEST_CSR.getBytes()));
- String encoderPK = new String(Base64.encode(TEST_PK.getBytes()));
- return csrModelFactory
- .createCsrModel(new CsrModelFactory.StringBase64(encoderCsr), new CsrModelFactory.StringBase64(encoderPK));
- }
-}
diff --git a/certService/src/test/java/org/onap/aaf/certservice/certification/X509CertificateBuilderTest.java b/certService/src/test/java/org/onap/aaf/certservice/certification/X509CertificateBuilderTest.java
deleted file mode 100644
index 067f2f5f..00000000
--- a/certService/src/test/java/org/onap/aaf/certservice/certification/X509CertificateBuilderTest.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * ============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;
-
-import org.bouncycastle.cert.X509CertificateHolder;
-import org.bouncycastle.cert.X509v3CertificateBuilder;
-import org.bouncycastle.operator.ContentSigner;
-import org.bouncycastle.operator.OperatorCreationException;
-import org.bouncycastle.pkcs.PKCS10CertificationRequest;
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Test;
-import org.onap.aaf.certservice.certification.exception.DecryptionException;
-import org.onap.aaf.certservice.certification.model.CsrModel;
-
-import java.io.IOException;
-import java.security.PrivateKey;
-
-import static org.assertj.core.api.Assertions.assertThat;
-import static org.onap.aaf.certservice.certification.TestUtils.createCsrModel;
-
-public class X509CertificateBuilderTest {
-
- private X509CertificateBuilder certificateBuilder;
-
-
- @BeforeEach
- void setUp() {
- certificateBuilder = new X509CertificateBuilder();
- }
-
- @Test
- void shouldBuildCertificateBuilderWhenGivenProperCertificationRequest()
- throws DecryptionException, IOException, OperatorCreationException {
- // Given
- CsrModel testCsrModel = createCsrModel();
- PKCS10CertificationRequest testCertificationRequest = testCsrModel.getCsr();
- PrivateKey testPrivateKey = testCsrModel.getPrivateKey();
- RsaContentSignerBuilder rsaContentSignerBuilder = new RsaContentSignerBuilder();
- ContentSigner createdContentSigner = rsaContentSignerBuilder.build(testCertificationRequest, testPrivateKey);
-
- // When
- X509v3CertificateBuilder certificateBuilder = this.certificateBuilder.build(testCertificationRequest);
- X509CertificateHolder certificateHolder = certificateBuilder.build(createdContentSigner);
-
- // Then
- assertThat(certificateHolder.getIssuer())
- .isEqualToComparingFieldByField(testCsrModel.getSubjectData());
- assertThat(certificateHolder.getSubjectPublicKeyInfo())
- .isEqualToComparingFieldByField(testCertificationRequest.getSubjectPublicKeyInfo());
- }
-}
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
deleted file mode 100644
index 87964295..00000000
--- a/certService/src/test/java/org/onap/aaf/certservice/certification/configuration/CmpServersConfigLoaderTest.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*
- * ============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 static org.assertj.core.api.Assertions.assertThat;
-import static org.junit.jupiter.api.Assertions.assertThrows;
-
-import java.util.List;
-import java.util.Map;
-
-import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.extension.ExtendWith;
-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.test.context.ContextConfiguration;
-import org.springframework.test.context.junit.jupiter.SpringExtension;
-
-@ExtendWith(SpringExtension.class)
-@ContextConfiguration(classes = CertServiceApplication.class)
-class CmpServersConfigLoaderTest {
- private static final String EXISTING_CONFIG_FILENAME = "cmpServers.json";
- private static final String INVALID_CONFIG_FILENAME = "invalidCmpServers.json";
- private static final String NONEXISTENT_CONFIG_FILENAME = "nonExistingCmpServers.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"
- );
-
- @Autowired
- private CmpServersConfigLoader configLoader;
-
- @Test
- void shouldLoadCmpServersConfigWhenFileAvailable() throws CmpServersConfigLoadingException {
- // Given
- String path = getResourcePath(EXISTING_CONFIG_FILENAME);
-
- // When
- List<Cmpv2Server> cmpServers = configLoader.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
- void shouldThrowExceptionWhenFileMissing() {
- // When
- Exception exception = assertThrows(
- CmpServersConfigLoadingException.class,
- () -> configLoader.load(NONEXISTENT_CONFIG_FILENAME));
-
- // Then
- assertThat(exception.getMessage()).contains("Exception occurred during CMP Servers configuration loading");
- }
-
- @Test
- void shouldThrowExceptionWhenConfigurationIsInvalid() {
- // Given
- String path = getResourcePath(INVALID_CONFIG_FILENAME);
-
- // When
- Exception exception = assertThrows(
- CmpServersConfigLoadingException.class,
- () -> configLoader.load(path));
-
- // Then
- assertThat(exception.getMessage()).contains("Validation of CMPv2 servers configuration failed");
- assertThat(exception.getCause().getMessage()).contains("authentication");
- }
-
- private String getResourcePath(String configFilename) {
- return getClass().getClassLoader().getResource(configFilename).getFile();
- }
-
- 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().toString()).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"));
- }
-}
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
deleted file mode 100644
index 511c3966..00000000
--- a/certService/src/test/java/org/onap/aaf/certservice/certification/configuration/CmpServersConfigTest.java
+++ /dev/null
@@ -1,236 +0,0 @@
-/*
- * ============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 static org.assertj.core.api.Assertions.assertThat;
-import static org.junit.jupiter.api.Assertions.assertThrows;
-import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.ArgumentMatchers.startsWith;
-
-import java.util.List;
-
-import org.bouncycastle.asn1.x500.X500Name;
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.extension.ExtendWith;
-import org.mockito.Mock;
-import org.mockito.Mockito;
-import org.mockito.junit.jupiter.MockitoExtension;
-import org.onap.aaf.certservice.certification.configuration.model.Authentication;
-import org.onap.aaf.certservice.certification.configuration.model.CaMode;
-import org.onap.aaf.certservice.certification.configuration.model.Cmpv2Server;
-
-@ExtendWith(MockitoExtension.class)
-class CmpServersConfigTest {
-
- private static final String ERROR_MESSAGE = "Exception occurred during CMP Servers configuration loading";
- private static final String APP_CONFIG_PATH = "/fake/path/to/config";
- private static final List<Cmpv2Server> SAMPLE_CMP_SERVERS = generateTestConfiguration();
-
- @Mock
- private CmpServersConfigLoader cmpServersConfigLoader;
-
- private CmpServersConfig cmpServersConfig;
-
- @BeforeEach
- void setUp() {
- cmpServersConfig = new CmpServersConfig(APP_CONFIG_PATH, cmpServersConfigLoader);
- }
-
- @Test
- void shouldCallLoaderWithPathFromPropertiesWhenCreated() throws CmpServersConfigLoadingException {
- // When
- this.cmpServersConfig.init(); // Manual PostConstruct call
-
- // Then
- Mockito.verify(cmpServersConfigLoader).load(startsWith(APP_CONFIG_PATH));
- }
-
- @Test
- void shouldReturnLoadedServersWhenGetCalled() throws CmpServersConfigLoadingException {
- // Given
- Mockito.when(cmpServersConfigLoader.load(any())).thenReturn(SAMPLE_CMP_SERVERS);
- this.cmpServersConfig.init(); // Manual PostConstruct call
-
- // When
- List<Cmpv2Server> receivedCmpServers = this.cmpServersConfig.getCmpServers();
-
- // Then
- assertThat(receivedCmpServers).containsAll(SAMPLE_CMP_SERVERS);
- }
-
- @Test
- void shouldReturnLoadedServersAfterReloadWhenGetCalled() throws CmpServersConfigLoadingException {
- // Given
- Mockito.when(cmpServersConfigLoader.load(any())).thenReturn(SAMPLE_CMP_SERVERS);
- List<Cmpv2Server> receivedCmpServers = this.cmpServersConfig.getCmpServers();
- assertThat(receivedCmpServers).isNull();
-
- // When
- this.cmpServersConfig.reloadConfiguration();
- receivedCmpServers = this.cmpServersConfig.getCmpServers();
-
- // Then
- assertThat(receivedCmpServers).containsAll(SAMPLE_CMP_SERVERS);
- }
-
- @Test
- void shouldRethrowExceptionWhenReloaded() throws CmpServersConfigLoadingException {
- // Given
- Mockito.when(cmpServersConfigLoader.load(any())).thenThrow(new CmpServersConfigLoadingException(
- ERROR_MESSAGE));
-
- // Then
- assertThrows(
- CmpServersConfigLoadingException.class,
- () -> cmpServersConfig.reloadConfiguration());
- }
-
- @Test
- void shouldPassMessageToRethrownErrorWhenReloadingFails() throws CmpServersConfigLoadingException {
- // Given
- Mockito.when(cmpServersConfigLoader.load(any())).thenThrow(new CmpServersConfigLoadingException(ERROR_MESSAGE));
-
- // When
- Exception exception = assertThrows(
- CmpServersConfigLoadingException.class,
- () -> cmpServersConfig.reloadConfiguration());
-
- // Then
- assertThat(exception.getMessage()).isEqualTo(ERROR_MESSAGE);
- }
-
- @Test
- void shouldNotReturnIakAndRvWhenToStringMethodIsUsed() throws CmpServersConfigLoadingException {
- // Given
- Mockito.when(cmpServersConfigLoader.load(any())).thenReturn(SAMPLE_CMP_SERVERS);
- this.cmpServersConfig.init(); // Manual PostConstruct call
-
- // When
- List<Cmpv2Server> receivedCmpServers = this.cmpServersConfig.getCmpServers();
-
- // Then
- receivedCmpServers.forEach((server) -> assertThat(server.toString())
- .doesNotContain(
- server.getAuthentication().getIak(),
- server.getAuthentication().getRv()
- ));
- }
-
- @Test
- void shouldRethrowErrorWhenLoadingFails() throws CmpServersConfigLoadingException {
- // Given
- Mockito.when(cmpServersConfigLoader.load(any())).thenThrow(new CmpServersConfigLoadingException(ERROR_MESSAGE));
-
- // Then
- assertThrows(
- CmpServersConfigLoadingException.class,
- () -> cmpServersConfig.loadConfiguration());
- }
-
- @Test
- void shouldPassMessageToRethrownErrorWhenLoadingFails() throws CmpServersConfigLoadingException {
- // Given
- Mockito.when(cmpServersConfigLoader.load(any())).thenThrow(new CmpServersConfigLoadingException(ERROR_MESSAGE));
-
- // When
- Exception exception = assertThrows(
- CmpServersConfigLoadingException.class,
- () -> cmpServersConfig.loadConfiguration());
-
- // Then
- assertThat(exception.getMessage()).isEqualTo(ERROR_MESSAGE);
- }
-
- @Test
- void shouldBeNotReadyWhenCreated() {
- assertThat(cmpServersConfig.isReady()).isFalse();
- }
-
- @Test
- void shouldBeReadyWhenSuccessfullyInitialized() {
- // When
- this.cmpServersConfig.init(); // Manual PostConstruct call
-
- // Then
- assertThat(cmpServersConfig.isReady()).isTrue();
- }
-
- @Test
- void shouldNotBeReadyWhenFailedToInitialize() throws CmpServersConfigLoadingException {
- // Given
- Mockito.when(cmpServersConfigLoader.load(any())).thenThrow(new CmpServersConfigLoadingException(ERROR_MESSAGE));
-
- // When
- this.cmpServersConfig.init(); // Manual PostConstruct call
-
- // Then
- assertThat(cmpServersConfig.isReady()).isFalse();
- }
-
- @Test
- void shouldBeReadyWhenSuccessfullyReloaded() throws CmpServersConfigLoadingException {
- // When
- this.cmpServersConfig.reloadConfiguration();
-
- // Then
- assertThat(cmpServersConfig.isReady()).isTrue();
- }
-
- @Test
- void shouldNotBeReadyWhenFailedToReload() throws CmpServersConfigLoadingException {
- // Given
- Mockito.when(cmpServersConfigLoader.load(any())).thenThrow(new CmpServersConfigLoadingException(ERROR_MESSAGE));
-
- // When
- assertThrows(
- CmpServersConfigLoadingException.class,
- () -> cmpServersConfig.loadConfiguration());
-
- // Then
- assertThat(cmpServersConfig.isReady()).isFalse();
- }
-
- private static List<Cmpv2Server> generateTestConfiguration() {
- Cmpv2Server testServer1 = new Cmpv2Server();
- testServer1.setCaName("TEST_CA1");
- testServer1.setIssuerDN(new X500Name("CN=testIssuer"));
- testServer1.setUrl("http://test.ca.server");
- Authentication testAuthentication1 = new Authentication();
- testAuthentication1.setIak("testIak");
- testAuthentication1.setRv("testRv");
- testServer1.setAuthentication(testAuthentication1);
- testServer1.setCaMode(CaMode.RA);
-
- Cmpv2Server testServer2 = new Cmpv2Server();
- testServer2.setCaName("TEST_CA2");
- testServer2.setIssuerDN(new X500Name("CN=testIssuer2"));
- testServer2.setUrl("http://test.ca.server");
- Authentication testAuthentication2 = new Authentication();
- testAuthentication2.setIak("test2Iak");
- testAuthentication2.setRv("test2Rv");
- testServer2.setAuthentication(testAuthentication2);
- testServer2.setCaMode(CaMode.CLIENT);
-
- return List.of(testServer1, testServer2);
- }
-
-}
diff --git a/certService/src/test/java/org/onap/aaf/certservice/certification/configuration/Cmpv2ServerProviderTest.java b/certService/src/test/java/org/onap/aaf/certservice/certification/configuration/Cmpv2ServerProviderTest.java
deleted file mode 100644
index b83fb9aa..00000000
--- a/certService/src/test/java/org/onap/aaf/certservice/certification/configuration/Cmpv2ServerProviderTest.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
- * ============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.bouncycastle.asn1.x500.X500Name;
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.extension.ExtendWith;
-import org.mockito.Mock;
-import org.mockito.junit.jupiter.MockitoExtension;
-import org.onap.aaf.certservice.certification.configuration.model.Authentication;
-import org.onap.aaf.certservice.certification.configuration.model.CaMode;
-import org.onap.aaf.certservice.certification.configuration.model.Cmpv2Server;
-import org.onap.aaf.certservice.certification.exception.Cmpv2ServerNotFoundException;
-
-import java.util.Collections;
-
-import static org.assertj.core.api.Assertions.assertThat;
-import static org.junit.jupiter.api.Assertions.assertThrows;
-import static org.junit.jupiter.api.Assertions.assertTrue;
-import static org.mockito.Mockito.when;
-
-@ExtendWith(MockitoExtension.class)
-class Cmpv2ServerProviderTest {
-
- private static final String TEST_CA = "testCA";
-
- private Cmpv2ServerProvider cmpv2ServerProvider;
-
- @Mock
- private CmpServersConfig cmpServersConfig;
-
- @BeforeEach
- void setUp() {
- cmpv2ServerProvider =
- new Cmpv2ServerProvider(cmpServersConfig);
- }
-
- @Test
- void shouldReturnOptionalWithServerWhenServerWithGivenCaNameIsPresentInConfig() {
- // Given
- Cmpv2Server testServer = createTestServer();
- when(cmpServersConfig.getCmpServers()).thenReturn(Collections.singletonList(testServer));
-
- // When
- Cmpv2Server receivedServer = cmpv2ServerProvider
- .getCmpv2Server(TEST_CA);
-
- // Then
- assertThat(receivedServer).isEqualToComparingFieldByField(testServer);
- }
-
- @Test
- void shouldReturnEmptyOptionalWhenServerWithGivenCaNameIsNotPresentInConfig() {
- // Given
- String expectedMessage = "No server found for given CA name";
- when(cmpServersConfig.getCmpServers()).thenReturn(Collections.emptyList());
-
- // When
- Exception exception = assertThrows(
- Cmpv2ServerNotFoundException.class, () ->
- cmpv2ServerProvider.getCmpv2Server(TEST_CA)
- );
-
- // Then
- assertTrue(exception.getMessage().contains(expectedMessage));
- }
-
- private Cmpv2Server createTestServer() {
- Cmpv2Server testServer = new Cmpv2Server();
- testServer.setCaName(TEST_CA);
- testServer.setIssuerDN(new X500Name("CN=testIssuer"));
- testServer.setUrl("http://test.ca.server");
- Authentication testAuthentication = new Authentication();
- testAuthentication.setIak("testIak");
- testAuthentication.setRv("testRv");
- testServer.setAuthentication(testAuthentication);
- testServer.setCaMode(CaMode.RA);
-
- return testServer;
- }
-}
diff --git a/certService/src/test/java/org/onap/aaf/certservice/certification/configuration/validation/Cmpv2ServersConfigurationValidatorTest.java b/certService/src/test/java/org/onap/aaf/certservice/certification/configuration/validation/Cmpv2ServersConfigurationValidatorTest.java
deleted file mode 100644
index 6db77753..00000000
--- a/certService/src/test/java/org/onap/aaf/certservice/certification/configuration/validation/Cmpv2ServersConfigurationValidatorTest.java
+++ /dev/null
@@ -1,213 +0,0 @@
-/*
- * ============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.validation;
-
-
-import org.bouncycastle.asn1.x500.X500Name;
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.extension.ExtendWith;
-import org.onap.aaf.certservice.CertServiceApplication;
-import org.onap.aaf.certservice.certification.configuration.model.Authentication;
-import org.onap.aaf.certservice.certification.configuration.model.CaMode;
-import org.onap.aaf.certservice.certification.configuration.model.Cmpv2Server;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.test.context.ContextConfiguration;
-import org.springframework.test.context.junit.jupiter.SpringExtension;
-
-import java.security.InvalidParameterException;
-import java.util.ArrayList;
-import java.util.List;
-
-import static org.assertj.core.api.Assertions.assertThat;
-import static org.junit.jupiter.api.Assertions.assertDoesNotThrow;
-import static org.junit.jupiter.api.Assertions.assertThrows;
-
-@ExtendWith(SpringExtension.class)
-@ContextConfiguration(classes = CertServiceApplication.class)
-class Cmpv2ServersConfigurationValidatorTest {
-
- private static final String EMPTY_STRING = "";
-
- @Autowired
- private Cmpv2ServersConfigurationValidator validator;
-
- private Authentication authentication;
- private Cmpv2Server server;
- private List<Cmpv2Server> servers;
-
- @BeforeEach
- private void init() {
- setAuthentication();
- setServerConfiguration();
- servers = new ArrayList<>();
- servers.add(server);
- }
-
- @Test
- void shouldThrowExceptionWhenCaNamesAreNotUnique() {
- // Given
- servers.add(server);
-
- // When
- Exception exception = assertThrows(
- InvalidParameterException.class,
- () -> validator.validate(servers));
-
- // Then
- assertThat(exception.getMessage()).contains("CA names are not unique within given CMPv2 servers");
- }
-
- @Test
- void shouldThrowExceptionWhenWrongProtocolInUrl() {
- // Given
- server.setUrl("https://test.test.test:60000/");
-
- // Then
- assertExceptionIsThrown();
- }
-
- @Test
- void shouldThrowExceptionWhenWrongPortInUrl() {
- // Given
- server.setUrl("http://test.test.test:70000/");
-
- // Then
- assertExceptionIsThrown();
- }
-
- @Test
- void shouldThrowExceptionWhenWrongCaNameLength() {
- // Given
- server.setCaName(EMPTY_STRING);
-
- // Then
- assertExceptionIsThrown();
- }
-
- @Test
- void shouldThrowExceptionWhenWrongRvLength() {
- // Given
- authentication.setRv(EMPTY_STRING);
-
- // Then
- assertExceptionIsThrown();
- }
-
-
- @Test
- void shouldThrowExceptionWhenWrongIakLength() {
- // Given
- authentication.setIak(EMPTY_STRING);
-
- // Then
- assertExceptionIsThrown();
- }
-
- @Test
- void shouldThrowExceptionWhenCaNameIsNull() {
- // Given
- server.setCaName(null);
-
- // Then
- assertExceptionIsThrown();
- }
-
- @Test
- void shouldThrowExceptionWhenIssuerDnIsNull() {
- // Given
- server.setIssuerDN(null);
-
- // Then
- assertExceptionIsThrown();
- }
-
- @Test
- void shouldThrowExceptionWhenCaModeIsNull() {
- // Given
- server.setCaMode(null);
-
- // Then
- assertExceptionIsThrown();
- }
-
- @Test
- void shouldThrowExceptionWhenUrlIsNull() {
- // Given
- server.setUrl(null);
-
- // Then
- assertExceptionIsThrown();
- }
-
- @Test
- void shouldThrowExceptionWhenAuthenticationIsNull() {
- // Given
- server.setAuthentication(null);
-
- // Then
- assertExceptionIsThrown();
- }
-
- @Test
- void shouldThrowExceptionWhenIakIsNull() {
- // Given
- authentication.setIak(null);
-
- // Then
- assertExceptionIsThrown();
- }
-
- @Test
- void shouldThrowExceptionWhenRvIsNull() {
- // Given
- authentication.setRv(null);
-
- // Then
- assertExceptionIsThrown();
- }
-
- @Test
- void shouldNotThrowExceptionWhenServerConfigurationIsValid() {
- // Then
- assertDoesNotThrow(() -> validator.validate(servers));
- }
-
- private void assertExceptionIsThrown() {
- assertThrows(IllegalArgumentException.class, () -> validator.validate(servers));
- }
-
- private void setServerConfiguration() {
- server = new Cmpv2Server();
- server.setCaMode(CaMode.CLIENT);
- server.setCaName("TEST");
- server.setIssuerDN(new X500Name("CN=ManagementCA"));
- server.setUrl("http://127.0.0.1/ejbca/publicweb/cmp/cmp");
- server.setAuthentication(authentication);
- }
-
- private void setAuthentication() {
- authentication = new Authentication();
- authentication.setRv("testRV");
- authentication.setIak("testIAK");
- }
-
-} \ No newline at end of file
diff --git a/certService/src/test/java/org/onap/aaf/certservice/certification/configuration/validation/constraints/Cmpv2UrlValidatorTest.java b/certService/src/test/java/org/onap/aaf/certservice/certification/configuration/validation/constraints/Cmpv2UrlValidatorTest.java
deleted file mode 100644
index 7082626f..00000000
--- a/certService/src/test/java/org/onap/aaf/certservice/certification/configuration/validation/constraints/Cmpv2UrlValidatorTest.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * ============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.validation.constraints;
-
-import org.junit.jupiter.api.Test;
-
-import static org.junit.jupiter.api.Assertions.assertFalse;
-import static org.junit.jupiter.api.Assertions.assertTrue;
-
-
-class Cmpv2UrlValidatorTest {
-
- private final Cmpv2UrlValidator validator = new Cmpv2UrlValidator();
-
- @Test
- void givenCorrectUrlWhenValidatingShouldReturnTrue() {
- //given
- String url = "http://127.0.0.1/ejbca/publicweb/cmp/cmp";
-
- //when
- boolean result = validator.isValid(url, null);
-
- //then
- assertTrue(result);
- }
-
- @Test
- void givenIncorrectUrlWhenValidatingShouldReturnFalse() {
- //given
- String url = "httttp://127.0.0.1:80000/ejbca/publicweb/cmp/cmp";
-
- //when
- boolean result = validator.isValid(url, null);
-
- //then
- assertFalse(result);
- }
-}
diff --git a/certService/src/test/java/org/onap/aaf/certservice/certification/configuration/validation/constraints/violations/PortNumberViolationTest.java b/certService/src/test/java/org/onap/aaf/certservice/certification/configuration/validation/constraints/violations/PortNumberViolationTest.java
deleted file mode 100644
index e729c738..00000000
--- a/certService/src/test/java/org/onap/aaf/certservice/certification/configuration/validation/constraints/violations/PortNumberViolationTest.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * ============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.validation.constraints.violations;
-
-import org.junit.jupiter.api.Test;
-
-import static org.junit.jupiter.api.Assertions.assertFalse;
-import static org.junit.jupiter.api.Assertions.assertTrue;
-
-class PortNumberViolationTest {
-
- private final PortNumberViolation violation = new PortNumberViolation();
-
- @Test
- void givenValidPortShouldReturnTrue() {
- //given
- String validUrl1 = "http://127.0.0.1:8080/ejbca/publicweb/cmp/cmp";
- String validUrl2 = "http://127.0.0.1:1/ejbca/publicweb/cmp/cmp";
- String validUrl3 = "http://127.0.0.1:65535/ejbca/publicweb/cmp/cmp";
-
- //when
- boolean result1 = violation.validate(validUrl1);
- boolean result2 = violation.validate(validUrl2);
- boolean result3 = violation.validate(validUrl3);
-
- //then
- assertTrue(result1);
- assertTrue(result2);
- assertTrue(result3);
- }
-
- @Test
- void givenEmptyPortShouldReturnTrue() {
- //given
- String validUrl = "http://127.0.0.1/ejbca/publicweb/cmp/cmp";
-
- //when
- boolean result = violation.validate(validUrl);
-
- //then
- assertTrue(result);
- }
-
- @Test
- void givenInvalidPortShouldReturnFalse() {
- //given
- String invalidUrl1 = "http://127.0.0.1:0/ejbca/publicweb/cmp/cmp";
- String invalidUrl2 = "http://127.0.0.1:65536/ejbca/publicweb/cmp/cmp";
-
- //when
- boolean result1 = violation.validate(invalidUrl1);
- boolean result2 = violation.validate(invalidUrl2);
-
- //then
- assertFalse(result1);
- assertFalse(result2);
- }
-}
diff --git a/certService/src/test/java/org/onap/aaf/certservice/certification/configuration/validation/constraints/violations/RequestTypeViolationTest.java b/certService/src/test/java/org/onap/aaf/certservice/certification/configuration/validation/constraints/violations/RequestTypeViolationTest.java
deleted file mode 100644
index dce66d52..00000000
--- a/certService/src/test/java/org/onap/aaf/certservice/certification/configuration/validation/constraints/violations/RequestTypeViolationTest.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * ============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.validation.constraints.violations;
-
-import org.junit.jupiter.api.Test;
-
-import static org.junit.jupiter.api.Assertions.assertFalse;
-import static org.junit.jupiter.api.Assertions.assertTrue;
-
-
-class RequestTypeViolationTest {
-
- private final RequestTypeViolation violation = new RequestTypeViolation();
-
- @Test
- void givenValidRequestTypeShouldReturnTrue() {
- //given
- String validUrl = "http://127.0.0.1/ejbca/publicweb/cmp/cmp";
-
- //when
- boolean result = violation.validate(validUrl);
-
- //then
- assertTrue(result);
- }
-
- @Test
- void givenInvalidRequestTypeShouldReturnFalse() {
- //given
- String invalidUrl = "htestps://127.0.0.1/ejbca/publicweb/cmp/cmp";
-
- //when
- boolean result = violation.validate(invalidUrl);
-
- //then
- assertFalse(result);
- }
-}
diff --git a/certService/src/test/java/org/onap/aaf/certservice/certification/model/CsrModelTest.java b/certService/src/test/java/org/onap/aaf/certservice/certification/model/CsrModelTest.java
deleted file mode 100644
index 08bc3368..00000000
--- a/certService/src/test/java/org/onap/aaf/certservice/certification/model/CsrModelTest.java
+++ /dev/null
@@ -1,185 +0,0 @@
-/*
- * ============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.model;
-
-import org.bouncycastle.asn1.x509.SubjectPublicKeyInfo;
-import org.bouncycastle.pkcs.PKCS10CertificationRequest;
-import org.bouncycastle.util.io.pem.PemObject;
-import org.junit.jupiter.api.Test;
-import org.onap.aaf.certservice.certification.Pkcs10CertificationRequestFactory;
-import org.onap.aaf.certservice.certification.PemObjectFactory;
-import org.onap.aaf.certservice.certification.exception.CsrDecryptionException;
-import org.onap.aaf.certservice.certification.exception.DecryptionException;
-import org.onap.aaf.certservice.certification.exception.KeyDecryptionException;
-
-import java.io.IOException;
-
-import static org.assertj.core.api.Assertions.assertThat;
-import static org.junit.jupiter.api.Assertions.assertThrows;
-import static org.junit.jupiter.api.Assertions.assertTrue;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.when;
-import static org.onap.aaf.certservice.certification.TestData.TEST_CSR;
-import static org.onap.aaf.certservice.certification.TestData.TEST_PEM;
-import static org.onap.aaf.certservice.certification.TestData.TEST_PK;
-
-
-class CsrModelTest {
-
- private final Pkcs10CertificationRequestFactory certificationRequestFactory
- = new Pkcs10CertificationRequestFactory();
- private final PemObjectFactory pemObjectFactory
- = new PemObjectFactory();
-
- @Test
- void shouldByConstructedAndReturnProperFields() throws DecryptionException, IOException {
- // Given
- PemObject testPrivateKey = getPemPrivateKey();
- PemObject testPublicKey = generateTestPublicKey();
- PKCS10CertificationRequest testCsr = generateTestCertificationRequest();
-
- // When
- CsrModel csrModel = generateTestCsrModel(testCsr);
-
- // Then
- assertThat(csrModel.getCsr())
- .isEqualTo(testCsr);
- assertThat(csrModel.getPrivateKey().getEncoded())
- .contains(testPrivateKey.getContent());
- assertThat(csrModel.getPublicKey().getEncoded())
- .contains(testPublicKey.getContent());
- assertThat(csrModel.getSans())
- .contains(
- "gerrit.onap.org", "test.onap.org", "onap.com");
- assertThat(csrModel.getSubjectData().toString())
- .contains(
- "C=US,ST=California,L=San-Francisco,O=Linux-Foundation,OU=ONAP,CN=onap.org,E=tester@onap.org");
- }
-
- @Test
- void shouldThrowExceptionWhenPublicKeyIsNotCorrect() throws DecryptionException, IOException {
- // Given
- PemObject testPrivateKey = getPemPrivateKey();
- PKCS10CertificationRequest testCsr = mock(PKCS10CertificationRequest.class);
- SubjectPublicKeyInfo wrongKryInfo = mock(SubjectPublicKeyInfo.class);
- when(testCsr.getSubjectPublicKeyInfo())
- .thenReturn(wrongKryInfo);
- when(wrongKryInfo.getEncoded())
- .thenThrow(new IOException());
-
- // When
- Exception exception = assertThrows(
- CsrDecryptionException.class,
- () -> new CsrModel.CsrModelBuilder(testCsr, testPrivateKey).build()
- );
-
- String expectedMessage = "Reading Public Key from CSR failed";
- String actualMessage = exception.getMessage();
-
- // Then
- assertTrue(actualMessage.contains(expectedMessage));
- }
-
- @Test
- void shouldThrowExceptionWhenPrivateKeyPemIsNotProperPrivateKey() throws KeyDecryptionException, IOException {
- // Given
- PemObject testPrivateKey = getPemWrongKey();
- PKCS10CertificationRequest testCsr = mock(PKCS10CertificationRequest.class);
- SubjectPublicKeyInfo wrongKryInfo = mock(SubjectPublicKeyInfo.class);
- when(testCsr.getSubjectPublicKeyInfo())
- .thenReturn(wrongKryInfo);
- when(wrongKryInfo.getEncoded())
- .thenThrow(new IOException());
-
- // When
- Exception exception = assertThrows(
- KeyDecryptionException.class,
- () -> new CsrModel.CsrModelBuilder(testCsr, testPrivateKey).build()
- );
-
- String expectedMessage = "Converting Private Key failed";
- String actualMessage = exception.getMessage();
-
- // Then
- assertTrue(actualMessage.contains(expectedMessage));
- }
-
- @Test
- void shouldThrowExceptionWhenPublicKeyPemIsNotProperPublicKey() throws KeyDecryptionException, IOException {
- // Given
- PemObject testPrivateKey = getPemPrivateKey();
- PemObject testPublicKey = getPemWrongKey();
- PKCS10CertificationRequest testCsr = mock(PKCS10CertificationRequest.class);
- SubjectPublicKeyInfo wrongKryInfo = mock(SubjectPublicKeyInfo.class);
- when(testCsr.getSubjectPublicKeyInfo())
- .thenReturn(wrongKryInfo);
- when(wrongKryInfo.getEncoded())
- .thenReturn(testPublicKey.getContent());
-
- // When
- Exception exception = assertThrows(
- KeyDecryptionException.class,
- () -> new CsrModel.CsrModelBuilder(testCsr, testPrivateKey).build()
- );
-
- String expectedMessage = "Converting Public Key from CSR failed";
- String actualMessage = exception.getMessage();
-
- // Then
- assertTrue(actualMessage.contains(expectedMessage));
- }
-
- private PemObject getPemPrivateKey() throws KeyDecryptionException {
- PemObjectFactory pemObjectFactory = new PemObjectFactory();
- return pemObjectFactory.createPemObject(TEST_PK).orElseThrow(
- () -> new KeyDecryptionException("Private key decoding fail")
- );
- }
-
- private PemObject getPemWrongKey() throws KeyDecryptionException {
- PemObjectFactory pemObjectFactory = new PemObjectFactory();
- return pemObjectFactory.createPemObject(TEST_PEM).orElseThrow(
- () -> new KeyDecryptionException("Private key decoding fail")
- );
- }
-
- private CsrModel generateTestCsrModel(PKCS10CertificationRequest testCsr) throws DecryptionException {
- PemObject testPrivateKey = pemObjectFactory.createPemObject(TEST_PK).orElseThrow(
- () -> new DecryptionException("Incorrect Private Key, decryption failed")
- );
- return new CsrModel.CsrModelBuilder(testCsr, testPrivateKey).build();
- }
-
- private PemObject generateTestPublicKey() throws DecryptionException, IOException {
- PKCS10CertificationRequest testCsr = generateTestCertificationRequest();
- return new PemObject("PUBLIC KEY", testCsr.getSubjectPublicKeyInfo().getEncoded());
- }
-
- private PKCS10CertificationRequest generateTestCertificationRequest() throws DecryptionException {
- return pemObjectFactory.createPemObject(TEST_CSR)
- .flatMap(
- certificationRequestFactory::createPkcs10CertificationRequest
- ).orElseThrow(
- () -> new DecryptionException("Incorrect CSR, decryption failed")
- );
- }
-
-}