summaryrefslogtreecommitdiffstats
path: root/certService/src/test/java/org/onap/aaf/certservice/api/CertificationControllerTest.java
diff options
context:
space:
mode:
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);
+ }
}