X-Git-Url: https://gerrit.onap.org/r/gitweb?p=dmaap%2Fdatarouter.git;a=blobdiff_plain;f=datarouter-prov%2Fsrc%2Ftest%2Fjava%2Forg%2Fonap%2Fdmaap%2Fdatarouter%2Fprovisioning%2FPublishServletTest.java;h=b99e63c0871a8bb12eddb42d5db8de29b4beece7;hp=cee09e5ce90fe676d80079383d05143eda0ced86;hb=14b8d9552808063686e0c22760cec6e35b960b59;hpb=72cd9f3033731242779e708a05f9519f36cf8d43 diff --git a/datarouter-prov/src/test/java/org/onap/dmaap/datarouter/provisioning/PublishServletTest.java b/datarouter-prov/src/test/java/org/onap/dmaap/datarouter/provisioning/PublishServletTest.java index cee09e5c..b99e63c0 100755 --- a/datarouter-prov/src/test/java/org/onap/dmaap/datarouter/provisioning/PublishServletTest.java +++ b/datarouter-prov/src/test/java/org/onap/dmaap/datarouter/provisioning/PublishServletTest.java @@ -23,15 +23,17 @@ package org.onap.dmaap.datarouter.provisioning; +import ch.qos.logback.classic.Logger; +import ch.qos.logback.classic.spi.ILoggingEvent; +import ch.qos.logback.core.read.ListAppender; import org.apache.commons.lang3.reflect.FieldUtils; -import org.junit.AfterClass; -import org.junit.Before; -import org.junit.BeforeClass; -import org.junit.Test; +import org.junit.*; import org.junit.runner.RunWith; import org.mockito.Mock; import org.onap.dmaap.datarouter.provisioning.utils.DB; +import org.powermock.core.classloader.annotations.PrepareForTest; import org.powermock.modules.junit4.PowerMockRunner; +import org.slf4j.LoggerFactory; import javax.persistence.EntityManager; import javax.persistence.EntityManagerFactory; @@ -40,17 +42,25 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import java.io.File; +import java.io.FileNotFoundException; +import java.io.PrintWriter; +import java.net.InetAddress; + import static org.hamcrest.Matchers.notNullValue; +import static org.junit.Assert.assertEquals; import static org.mockito.Matchers.*; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; +import static org.powermock.api.mockito.PowerMockito.mockStatic; /** * Created by ezcoxem on 21/08/2018. */ @RunWith(PowerMockRunner.class) -public class PublishServletTest { +@PrepareForTest({InetAddress.class }) +public class PublishServletTest extends DrServletTestBase { private PublishServlet publishServlet; @Mock @@ -63,6 +73,8 @@ public class PublishServletTest { private static EntityManager em; private DB db; + ListAppender listAppender; + @BeforeClass public static void init() { emf = Persistence.createEntityManagerFactory("dr-unit-tests"); @@ -73,7 +85,7 @@ public class PublishServletTest { } @AfterClass - public static void tearDownClass() { + public static void tearDownClass() throws FileNotFoundException { em.clear(); em.close(); emf.close(); @@ -82,6 +94,7 @@ public class PublishServletTest { @Before public void setUp() throws Exception { + listAppender = setTestLogger(PublishServlet.class); publishServlet = new PublishServlet(); db = new DB(); } @@ -93,6 +106,7 @@ public class PublishServletTest { publishServlet.doDelete(request, response); verify(response).sendError(eq(HttpServletResponse.SC_SERVICE_UNAVAILABLE), argThat(notNullValue(String.class))); FieldUtils.writeDeclaredStaticField(BaseServlet.class, "nodes", new String[1], true); + verifyEnteringExitCalled(listAppender); } @Test @@ -135,6 +149,7 @@ public class PublishServletTest { setConditionsForPositiveSuccessFlow(); publishServlet.doDelete(request, response); verify(response).setStatus(eq(HttpServletResponse.SC_MOVED_PERMANENTLY)); + verifyEnteringExitCalled(listAppender); } @Test @@ -144,6 +159,7 @@ public class PublishServletTest { publishServlet.doPut(request, response); verify(response).setStatus(eq(HttpServletResponse.SC_MOVED_PERMANENTLY)); + verifyEnteringExitCalled(listAppender); } @Test @@ -153,15 +169,32 @@ public class PublishServletTest { publishServlet.doPost(request, response); verify(response).setStatus(eq(HttpServletResponse.SC_MOVED_PERMANENTLY)); + verifyEnteringExitCalled(listAppender); } @Test - public void Given_Request_Is_HTTP_GET_And_Request_succeeds() + public void Given_Request_Is_HTTP_GET_And_Request_succeeds_And_RequestId_Header_is_empty() throws Exception { setConditionsForPositiveSuccessFlow(); + mockStatic(InetAddress.class); + publishServlet.doGet(request, response); + verify(response).setStatus(eq(HttpServletResponse.SC_MOVED_PERMANENTLY)); + verifyEnteringExitCalled(listAppender); + assertEquals(null, listAppender.list.get(0).getMDCPropertyMap().get("RequestId")); + assertEquals(null, listAppender.list.get(0).getMDCPropertyMap().get("InvocationId")); + } + @Test + public void Given_Request_Is_HTTP_GET_And_Request_succeeds_And_RequestId_Header_Is_Not_Empty() + throws Exception { + setConditionsForPositiveSuccessFlow(); + when(request.getHeader("X-ONAP-RequestID")).thenReturn("123"); + when(request.getHeader("X-InvocationID")).thenReturn("456"); publishServlet.doGet(request, response); verify(response).setStatus(eq(HttpServletResponse.SC_MOVED_PERMANENTLY)); + verifyEnteringExitCalled(listAppender); + assertEquals("123", listAppender.list.get(0).getMDCPropertyMap().get("RequestId")); + assertEquals("456", listAppender.list.get(0).getMDCPropertyMap().get("InvocationId")); } private void setConditionsForPositiveSuccessFlow() throws Exception {