summaryrefslogtreecommitdiffstats
path: root/certService/src/test/java/org/onap/aaf/certservice/certification/CertificationExceptionControllerTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'certService/src/test/java/org/onap/aaf/certservice/certification/CertificationExceptionControllerTest.java')
-rw-r--r--certService/src/test/java/org/onap/aaf/certservice/certification/CertificationExceptionControllerTest.java74
1 files changed, 65 insertions, 9 deletions
diff --git a/certService/src/test/java/org/onap/aaf/certservice/certification/CertificationExceptionControllerTest.java b/certService/src/test/java/org/onap/aaf/certservice/certification/CertificationExceptionControllerTest.java
index 1a92c0c8..10a818e4 100644
--- a/certService/src/test/java/org/onap/aaf/certservice/certification/CertificationExceptionControllerTest.java
+++ b/certService/src/test/java/org/onap/aaf/certservice/certification/CertificationExceptionControllerTest.java
@@ -23,13 +23,17 @@ package org.onap.aaf.certservice.certification;
import com.google.gson.Gson;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
+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.ErrorResponseModel;
import org.onap.aaf.certservice.certification.exception.KeyDecryptionException;
+import org.onap.aaf.certservice.cmpv2client.exceptions.CmpClientException;
+import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertThrows;
class CertificationExceptionControllerTest {
@@ -43,46 +47,98 @@ class CertificationExceptionControllerTest {
@Test
void shouldReturnResponseEntityWithAppropriateErrorMessageWhenGivenCsrDecryptionException() {
- // given
+ // Given
String expectedMessage = "Wrong certificate signing request (CSR) format";
CsrDecryptionException csrDecryptionException = new CsrDecryptionException("test csr exception");
- // when
+ // When
ResponseEntity<String> responseEntity = certificationExceptionController.handle(csrDecryptionException);
ErrorResponseModel response = new Gson().fromJson(responseEntity.getBody(), ErrorResponseModel.class);
- // then
+ // Then
+ assertEquals(HttpStatus.BAD_REQUEST, responseEntity.getStatusCode());
assertEquals(expectedMessage, response.getErrorMessage());
}
@Test
void shouldReturnResponseEntityWithAppropriateErrorMessageWhenGivenKeyDecryptionException() {
- // given
+ // Given
String expectedMessage = "Wrong key (PK) format";
KeyDecryptionException csrDecryptionException = new KeyDecryptionException("test pk exception");
- // when
+ // When
ResponseEntity<String> responseEntity = certificationExceptionController.handle(csrDecryptionException);
ErrorResponseModel response = new Gson().fromJson(responseEntity.getBody(), ErrorResponseModel.class);
- // then
+ // Then
+ assertEquals(HttpStatus.BAD_REQUEST, responseEntity.getStatusCode());
assertEquals(expectedMessage, response.getErrorMessage());
}
@Test
void shouldReturnResponseEntityWithAppropriateErrorMessageWhenGivenCaNameIsNotPresentInConfig() {
- // given
+ // Given
String expectedMessage = "Certification authority not found for given CAName";
Cmpv2ServerNotFoundException csrDecryptionException = new Cmpv2ServerNotFoundException("test Ca exception");
- // when
+ // When
ResponseEntity<String> responseEntity = certificationExceptionController.handle(csrDecryptionException);
ErrorResponseModel response = new Gson().fromJson(responseEntity.getBody(), ErrorResponseModel.class);
- // then
+ // Then
+ assertEquals(HttpStatus.NOT_FOUND, responseEntity.getStatusCode());
assertEquals(expectedMessage, response.getErrorMessage());
}
+
+ @Test
+ void shouldReturnResponseEntityWithAppropriateErrorMessageWhenCallingCmpClientFail() {
+ // Given
+ String expectedMessage = "Exception occurred during call to cmp client";
+ CmpClientException cmpClientException = new CmpClientException("Calling CMPv2 client failed");
+
+ // When
+ ResponseEntity<String> responseEntity = certificationExceptionController.handle(cmpClientException);
+
+ ErrorResponseModel response = new Gson().fromJson(responseEntity.getBody(), ErrorResponseModel.class);
+
+ // Then
+ assertEquals(HttpStatus.INTERNAL_SERVER_ERROR, responseEntity.getStatusCode());
+ assertEquals(expectedMessage, response.getErrorMessage());
+ }
+
+ @Test
+ void shouldReturnResponseEntityWithAppropriateErrorMessageWhenModelTransformationInAdapterFail() {
+ // Given
+ String expectedMessage = "Exception occurred parsing cmp client response";
+ Cmpv2ClientAdapterException cmpv2ClientAdapterException = new Cmpv2ClientAdapterException(new Throwable());
+
+ // When
+ ResponseEntity<String> responseEntity = certificationExceptionController.handle(cmpv2ClientAdapterException);
+
+ ErrorResponseModel response = new Gson().fromJson(responseEntity.getBody(), ErrorResponseModel.class);
+
+ // Then
+ assertEquals(HttpStatus.INTERNAL_SERVER_ERROR, responseEntity.getStatusCode());
+ assertEquals(expectedMessage, response.getErrorMessage());
+ }
+
+ @Test
+ void shouldThrowCmpClientExceptionWhenNotHandledRunTimeExceptionOccur() {
+ // Given
+ String expectedMessage = "Runtime exception occurred calling cmp client business logic";
+ RuntimeException runtimeException = new RuntimeException("Unknown runtime exception");
+
+ // When
+ Exception exception = assertThrows(
+ CmpClientException.class, () ->
+ certificationExceptionController.handle(runtimeException)
+ );
+
+ // Then
+ assertEquals(expectedMessage, exception.getMessage());
+ }
+
}