diff options
Diffstat (limited to 'mso-api-handlers/mso-api-handler-common/src/test/java/org/onap/so/apihandler/filters/RequestIdFilterTest.java')
-rw-r--r-- | mso-api-handlers/mso-api-handler-common/src/test/java/org/onap/so/apihandler/filters/RequestIdFilterTest.java | 60 |
1 files changed, 39 insertions, 21 deletions
diff --git a/mso-api-handlers/mso-api-handler-common/src/test/java/org/onap/so/apihandler/filters/RequestIdFilterTest.java b/mso-api-handlers/mso-api-handler-common/src/test/java/org/onap/so/apihandler/filters/RequestIdFilterTest.java index 9bf83153b3..8716047603 100644 --- a/mso-api-handlers/mso-api-handler-common/src/test/java/org/onap/so/apihandler/filters/RequestIdFilterTest.java +++ b/mso-api-handlers/mso-api-handler-common/src/test/java/org/onap/so/apihandler/filters/RequestIdFilterTest.java @@ -20,67 +20,85 @@ package org.onap.so.apihandler.filters; -import static org.junit.Assert.assertEquals; +import static com.shazam.shazamcrest.matcher.Matchers.sameBeanAs; +import static org.junit.Assert.assertThat; import static org.mockito.Mockito.doReturn; import java.io.IOException; +import java.util.Collections; import javax.ws.rs.container.ContainerRequestContext; -import org.apache.http.HttpStatus; import org.junit.Rule; import org.junit.Test; import org.junit.rules.ExpectedException; import org.junit.runner.RunWith; import org.mockito.InjectMocks; import org.mockito.Mock; -import org.mockito.Mockito; import org.mockito.Spy; -import org.mockito.junit.MockitoJUnit; import org.mockito.junit.MockitoJUnitRunner; -import org.mockito.junit.MockitoRule; import org.onap.logging.ref.slf4j.ONAPLogConstants; +import org.onap.so.apihandlerinfra.exceptions.DuplicateRequestIdException; import org.onap.so.db.request.beans.InfraActiveRequests; import org.onap.so.db.request.client.RequestsDbClient; +import org.onap.so.serviceinstancebeans.RequestError; +import org.onap.so.serviceinstancebeans.ServiceException; import org.slf4j.MDC; +import com.fasterxml.jackson.databind.DeserializationFeature; +import com.fasterxml.jackson.databind.ObjectMapper; @RunWith(MockitoJUnitRunner.class) public class RequestIdFilterTest { @Mock - ContainerRequestContext mockContext; + private ContainerRequestContext mockContext; @Mock - protected RequestsDbClient requestsDbClient; + private RequestsDbClient requestsDbClient; @InjectMocks @Spy - RequestIdFilter requestIdFilter; + private RequestIdFilter requestIdFilter; @Rule public ExpectedException thrown = ExpectedException.none(); - @Rule - public MockitoRule mockitoRule = MockitoJUnit.rule(); + private static final String REQUEST_ID = "32807a28-1a14-4b88-b7b3-2950918aa769"; + private ObjectMapper mapper = new ObjectMapper(); - @Test - public void filterTest() throws IOException { + private RequestError getRequestError() throws IOException { + RequestError requestError = new RequestError(); + mapper.configure(DeserializationFeature.UNWRAP_ROOT_VALUE, false); + ServiceException serviceException = new ServiceException(); + serviceException.setMessageId("SVC0002"); + serviceException.setText( + "RequestId: 32807a28-1a14-4b88-b7b3-2950918aa769 already exists in the RequestDB InfraActiveRequests table"); + serviceException.setVariables(Collections.emptyList()); + requestError.setServiceException(serviceException); + return requestError; + } - String requestId = "32807a28-1a14-4b88-b7b3-2950918aa769"; + @Test + public void filterTestInfra() throws IOException { + String error = mapper.writeValueAsString(getRequestError()); + String requestId = REQUEST_ID; MDC.put(ONAPLogConstants.MDCs.REQUEST_ID, requestId); // ExpectedRecord InfraActiveRequests InfraActiveRequests infraActiveRequests = new InfraActiveRequests(); - infraActiveRequests.setRequestStatus("FAILED"); - infraActiveRequests.setProgress(100L); - infraActiveRequests.setLastModifiedBy("APIH"); - infraActiveRequests.setRequestScope("network"); - infraActiveRequests.setRequestAction("deleteInstance"); - infraActiveRequests.setRequestId("32807a28-1a14-4b88-b7b3-2950918aa769"); + infraActiveRequests.setRequestId(REQUEST_ID); doReturn(infraActiveRequests).when(requestsDbClient).getInfraActiveRequestbyRequestId(requestId); + doReturn(error).when(requestIdFilter).createRequestError(REQUEST_ID, "InfraActiveRequests"); + thrown.expect(DuplicateRequestIdException.class); + thrown.expectMessage("HTTP 400 Bad Request"); requestIdFilter.filter(mockContext); + } - Mockito.verify(requestIdFilter, Mockito.times(1)).filter(mockContext); - assertEquals(MDC.get(ONAPLogConstants.MDCs.RESPONSE_CODE), String.valueOf(HttpStatus.SC_BAD_REQUEST)); + @Test + public void createRequestErrorTest() throws IOException { + RequestError requestError = getRequestError(); + String result = requestIdFilter.createRequestError(REQUEST_ID, "InfraActiveRequests"); + RequestError resultingError = mapper.readValue(result, RequestError.class); + assertThat(resultingError, sameBeanAs(requestError)); } } |