aboutsummaryrefslogtreecommitdiffstats
path: root/certService/src/test/java/org/onap/aaf/certservice/api/CertificationControllerTest.java
diff options
context:
space:
mode:
authorBartosz Gardziejewski <bartosz.gardziejewski@nokia.com>2020-02-27 10:26:32 +0100
committerTomasz Golabek <tomasz.golabek@nokia.com>2020-03-05 13:44:05 +0100
commitd43531d4072653b86cc86459816e54806ad589c2 (patch)
tree1a19068cede89992c4f37e8e8b25ec6afc94b53c /certService/src/test/java/org/onap/aaf/certservice/api/CertificationControllerTest.java
parent8f26d1f4274f18bd9502386700919933045e2316 (diff)
Create adapter for Cmpv2Client
connected-with: https://gerrit.onap.org/r/c/aaf/certservice/+/102401 Issue-ID: AAF-997 Signed-off-by: Bartosz Gardziejewski <bartosz.gardziejewski@nokia.com> Signed-off-by: Tomasz Golabek <tomasz.golabek@nokia.com> Change-Id: Ieb85cd9c93f7a5470fca37a9de4bead3c543199a
Diffstat (limited to 'certService/src/test/java/org/onap/aaf/certservice/api/CertificationControllerTest.java')
-rw-r--r--certService/src/test/java/org/onap/aaf/certservice/api/CertificationControllerTest.java96
1 files changed, 56 insertions, 40 deletions
diff --git a/certService/src/test/java/org/onap/aaf/certservice/api/CertificationControllerTest.java b/certService/src/test/java/org/onap/aaf/certservice/api/CertificationControllerTest.java
index 2fc6d665..802b2ea0 100644
--- a/certService/src/test/java/org/onap/aaf/certservice/api/CertificationControllerTest.java
+++ b/certService/src/test/java/org/onap/aaf/certservice/api/CertificationControllerTest.java
@@ -23,12 +23,9 @@ package org.onap.aaf.certservice.api;
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.mockito.ArgumentMatchers.any;
-import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
import com.google.gson.Gson;
-import java.io.IOException;
import java.util.Arrays;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
@@ -36,56 +33,54 @@ import org.junit.jupiter.api.extension.ExtendWith;
import org.mockito.Mock;
import org.mockito.junit.jupiter.MockitoExtension;
import org.onap.aaf.certservice.certification.CertificationModelFactory;
-import org.onap.aaf.certservice.certification.CsrModelFactory;
-import org.onap.aaf.certservice.certification.CsrModelFactory.StringBase64;
+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.exception.KeyDecryptionException;
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 org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
-
@ExtendWith(MockitoExtension.class)
class CertificationControllerTest {
- private CertificationController certificationController;
+ private static final String TEST_CA_NAME = "TestCa";
+ private static final String TEST_ENCODED_CSR = "encodedCSR";
+ private static final String TEST_ENCODED_PK = "encodedPK";
+ private static final String TEST_WRONG_ENCODED_CSR = "wrongEncodedCSR";
+ private static final String TEST_WRONG_ENCODED_PK = "wrongEncodedPK";
+ private static final String TEST_WRONG_CA_NAME = "wrongTestCa";
- @Mock
- private CsrModelFactory csrModelFactory;
+ private CertificationController certificationController;
@Mock
private CertificationModelFactory certificationModelFactory;
@BeforeEach
- void setUp() {
- certificationController = new CertificationController(csrModelFactory, certificationModelFactory);
+ void serUp() {
+ certificationController = new CertificationController(certificationModelFactory);
}
@Test
- void shouldReturnDataAboutCsrBaseOnEncodedParameters() throws DecryptionException {
- // given
- final String testStringCsr = "testData";
- final String testCaName = "TestCa";
- CsrModel mockedCsrModel = mock(CsrModel.class);
+ void shouldReturnDataAboutCsrBaseOnEncodedParameters()
+ throws DecryptionException, CmpClientException, Cmpv2ClientAdapterException {
+ // Given
CertificationModel testCertificationModel = new CertificationModel(
Arrays.asList("ENTITY_CERT", "INTERMEDIATE_CERT"),
Arrays.asList("CA_CERT", "EXTRA_CA_CERT")
);
- when(mockedCsrModel.toString()).thenReturn(testStringCsr);
- when(csrModelFactory.createCsrModel(any(StringBase64.class), any(StringBase64.class)))
- .thenReturn(mockedCsrModel);
- when(certificationModelFactory.createCertificationModel(mockedCsrModel, testCaName))
+ when(certificationModelFactory.createCertificationModel(TEST_ENCODED_CSR, TEST_ENCODED_PK, TEST_CA_NAME))
.thenReturn(testCertificationModel);
- // when
+ // When
ResponseEntity<String> testResponse =
- certificationController.signCertificate(testCaName, "encryptedCSR", "encryptedPK");
+ certificationController.signCertificate(TEST_CA_NAME, TEST_ENCODED_CSR, TEST_ENCODED_PK);
CertificationModel responseCertificationModel = new Gson().fromJson(testResponse.getBody(), CertificationModel.class);
- // then
+ // Then
assertEquals(HttpStatus.OK, testResponse.getStatusCode());
assertThat(responseCertificationModel
).isEqualToComparingFieldByField(testCertificationModel);
@@ -93,41 +88,62 @@ class CertificationControllerTest {
}
@Test
- void shouldThrowCsrDecryptionExceptionWhenCreatingCsrModelFails() throws DecryptionException {
- // given
+ void shouldThrowCsrDecryptionExceptionWhenCreatingCsrModelFails()
+ throws DecryptionException, CmpClientException, Cmpv2ClientAdapterException {
+ // Given
String expectedMessage = "Incorrect CSR, decryption failed";
- when(csrModelFactory.createCsrModel(any(StringBase64.class), any(StringBase64.class)))
- .thenThrow(new CsrDecryptionException(expectedMessage,new IOException()));
+ when(certificationModelFactory.createCertificationModel(TEST_WRONG_ENCODED_CSR, TEST_ENCODED_PK, TEST_CA_NAME))
+ .thenThrow(new CsrDecryptionException(expectedMessage));
- // when
+ // When
Exception exception = assertThrows(
- CsrDecryptionException.class, () -> certificationController.
- signCertificate("TestCa", "encryptedCSR", "encryptedPK")
+ CsrDecryptionException.class, () ->
+ certificationController.signCertificate(TEST_CA_NAME, TEST_WRONG_ENCODED_CSR, TEST_ENCODED_PK)
);
String actualMessage = exception.getMessage();
- // then
+ // Then
assertEquals(expectedMessage, actualMessage);
}
@Test
- void shouldThrowPemDecryptionExceptionWhenCreatingPemModelFails() throws DecryptionException {
- // given
+ void shouldThrowPemDecryptionExceptionWhenCreatingPemModelFails()
+ throws DecryptionException, CmpClientException, Cmpv2ClientAdapterException {
+ // Given
String expectedMessage = "Incorrect PEM, decryption failed";
- when(csrModelFactory.createCsrModel(any(StringBase64.class), any(StringBase64.class)))
- .thenThrow(new KeyDecryptionException(expectedMessage,new IOException()));
+ when(certificationModelFactory.createCertificationModel(TEST_ENCODED_CSR, TEST_WRONG_ENCODED_PK, TEST_CA_NAME))
+ .thenThrow(new KeyDecryptionException(expectedMessage));
- // when
+ // When
Exception exception = assertThrows(
- KeyDecryptionException.class, () -> certificationController.
- signCertificate("TestCa", "encryptedCSR", "encryptedPK")
+ KeyDecryptionException.class, () ->
+ certificationController.signCertificate(TEST_CA_NAME, TEST_ENCODED_CSR, TEST_WRONG_ENCODED_PK)
);
String actualMessage = exception.getMessage();
- // then
+ // Then
assertEquals(expectedMessage, actualMessage);
}
+ @Test
+ void shouldThrowCmpv2ServerNotFoundWhenGivenWrongCaName()
+ throws DecryptionException, CmpClientException, Cmpv2ClientAdapterException {
+ // Given
+ String expectedMessage = "No server found for given CA name";
+ when(certificationModelFactory.createCertificationModel(TEST_ENCODED_CSR, TEST_ENCODED_PK, TEST_WRONG_CA_NAME))
+ .thenThrow(new Cmpv2ServerNotFoundException(expectedMessage));
+
+ // When
+ Exception exception = assertThrows(
+ Cmpv2ServerNotFoundException.class, () ->
+ certificationController.signCertificate(TEST_WRONG_CA_NAME, TEST_ENCODED_CSR, TEST_ENCODED_PK)
+ );
+
+ String actualMessage = exception.getMessage();
+
+ // Then
+ assertEquals(expectedMessage, actualMessage);
+ }
}