From ecea1e9e8d4d2a794c68d35e100b9315f0ce95c8 Mon Sep 17 00:00:00 2001 From: "Benjamin, Max (mb388a)" Date: Mon, 8 Apr 2019 10:12:52 -0400 Subject: Do not overwrite requestId Added filter to reject requests that reuse request ids for requests db Change-Id: Iced020a9e1bc98c93911966f62ac0049e43e314b Issue-ID: SO-1762 Signed-off-by: Benjamin, Max (mb388a) --- .../so/apihandler/filters/RequestIdFilterTest.java | 68 ++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 mso-api-handlers/mso-api-handler-common/src/test/java/org/onap/so/apihandler/filters/RequestIdFilterTest.java (limited to 'mso-api-handlers/mso-api-handler-common/src/test/java') 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 new file mode 100644 index 0000000000..dae6542b8b --- /dev/null +++ b/mso-api-handlers/mso-api-handler-common/src/test/java/org/onap/so/apihandler/filters/RequestIdFilterTest.java @@ -0,0 +1,68 @@ +package org.onap.so.apihandler.filters; + +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.doReturn; + +import java.io.IOException; + +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.db.request.beans.InfraActiveRequests; +import org.onap.so.db.request.client.RequestsDbClient; +import org.slf4j.MDC; + +@RunWith(MockitoJUnitRunner.class) +public class RequestIdFilterTest { + + @Mock + ContainerRequestContext mockContext; + + @Mock + protected RequestsDbClient requestsDbClient; + + @InjectMocks + @Spy + RequestIdFilter requestIdFilter; + + @Rule + public ExpectedException thrown = ExpectedException.none(); + + @Rule public MockitoRule mockitoRule = MockitoJUnit.rule(); + + @Test + public void filterTest() throws IOException { + + String requestId = "32807a28-1a14-4b88-b7b3-2950918aa769"; + 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"); + + doReturn(infraActiveRequests).when(requestsDbClient).getInfraActiveRequestbyRequestId(requestId); + + requestIdFilter.filter(mockContext); + + Mockito.verify( requestIdFilter, Mockito.times(1)).filter(mockContext); + assertEquals(MDC.get(ONAPLogConstants.MDCs.RESPONSE_CODE), String.valueOf(HttpStatus.SC_BAD_REQUEST)); + + } +} -- cgit 1.2.3-korg