aboutsummaryrefslogtreecommitdiffstats
path: root/certService/src/test/java/org/onap/aaf/certservice/api
diff options
context:
space:
mode:
Diffstat (limited to 'certService/src/test/java/org/onap/aaf/certservice/api')
-rw-r--r--certService/src/test/java/org/onap/aaf/certservice/api/CertificationServiceTest.java53
1 files changed, 46 insertions, 7 deletions
diff --git a/certService/src/test/java/org/onap/aaf/certservice/api/CertificationServiceTest.java b/certService/src/test/java/org/onap/aaf/certservice/api/CertificationServiceTest.java
index 9367fcb1..8ee88db5 100644
--- a/certService/src/test/java/org/onap/aaf/certservice/api/CertificationServiceTest.java
+++ b/certService/src/test/java/org/onap/aaf/certservice/api/CertificationServiceTest.java
@@ -20,19 +20,26 @@
package org.onap.aaf.certservice.api;
+import com.google.gson.Gson;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
+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.exceptions.CsrDecryptionException;
+import org.onap.aaf.certservice.certification.exceptions.DecryptionException;
+import org.onap.aaf.certservice.certification.exceptions.PemDecryptionException;
+import org.onap.aaf.certservice.certification.model.CertificationModel;
import org.onap.aaf.certservice.certification.model.CsrModel;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import java.io.IOException;
+import java.util.Arrays;
+import static org.assertj.core.api.Assertions.assertThat;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertTrue;
import static org.mockito.ArgumentMatchers.any;
@@ -47,43 +54,75 @@ class CertificationServiceTest {
@Mock
private CsrModelFactory csrModelFactory;
+ @Mock
+ private CertificationModelFactory certificationModelFactory;
+
@BeforeEach
void serUp() {
MockitoAnnotations.initMocks(this);
- certificationService = new CertificationService(csrModelFactory);
+ certificationService = new CertificationService(csrModelFactory, certificationModelFactory);
}
@Test
- void shouldReturnDataAboutCsrBaseOnEncodedParameters() throws CsrDecryptionException {
+ void shouldReturnDataAboutCsrBaseOnEncodedParameters() throws DecryptionException {
// given
final String testStringCsr = "testData";
+ final String testCaName = "TestCa";
CsrModel mockedCsrModel = mock(CsrModel.class);
+ 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))
+ .thenReturn(testCertificationModel);
// when
ResponseEntity<String> testResponse =
- certificationService.signCertificate("TestCa", "encryptedCSR", "encryptedPK");
+ certificationService.signCertificate(testCaName, "encryptedCSR", "encryptedPK");
+
+ CertificationModel responseCertificationModel = new Gson().fromJson(testResponse.getBody(), CertificationModel.class);
// then
assertEquals(HttpStatus.OK, testResponse.getStatusCode());
+ assertThat(responseCertificationModel
+ ).isEqualToComparingFieldByField(testCertificationModel);
+
+ }
+
+ @Test
+ void shouldReturnBadRequestWhenCreatingCsrModelFails() throws DecryptionException {
+ // given
+ when(csrModelFactory.createCsrModel(any(StringBase64.class), any(StringBase64.class)))
+ .thenThrow(new CsrDecryptionException("CSR creation fail",new IOException()));
+
+ // when
+ ResponseEntity<String> testResponse =
+ certificationService.signCertificate("TestCa", "encryptedCSR", "encryptedPK");
+
+ String expectedMessage = "Wrong certificate signing request (CSR) format";
+
+ // then
+ assertEquals(HttpStatus.BAD_REQUEST, testResponse.getStatusCode());
assertTrue(
- testResponse.toString().contains(testStringCsr)
+ testResponse.toString().contains(expectedMessage)
);
+
}
@Test
- void shouldReturnBadRequestWhenCreatingCsrModelFails() throws CsrDecryptionException {
+ void shouldReturnBadRequestWhenCreatingPemModelFails() throws DecryptionException {
// given
when(csrModelFactory.createCsrModel(any(StringBase64.class), any(StringBase64.class)))
- .thenThrow(new CsrDecryptionException("creation fail",new IOException()));
+ .thenThrow(new PemDecryptionException("PEM creation fail",new IOException()));
// when
ResponseEntity<String> testResponse =
certificationService.signCertificate("TestCa", "encryptedCSR", "encryptedPK");
- String expectedMessage = "Wrong certificate signing request (CSR) format";
+ String expectedMessage = "Wrong key (PK) format";
// then
assertEquals(HttpStatus.BAD_REQUEST, testResponse.getStatusCode());