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=e1a11f3ef5ac9c2a262fc871761474d1e0a65e05;hp=cee09e5ce90fe676d80079383d05143eda0ced86;hb=68a9ca240970fceaf12bbe91b7bad8e1d98ecd93;hpb=8b875290720376ff469a9ffd0b28b3af6541cb66 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..e1a11f3e 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,14 +23,14 @@ package org.onap.dmaap.datarouter.provisioning; +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.onap.dmaap.datarouter.provisioning.utils.ProvDbUtils; +import org.powermock.core.classloader.annotations.PrepareForTest; import org.powermock.modules.junit4.PowerMockRunner; import javax.persistence.EntityManager; @@ -40,17 +40,23 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import java.io.FileNotFoundException; +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 @@ -61,7 +67,8 @@ public class PublishServletTest { private static EntityManagerFactory emf; private static EntityManager em; - private DB db; + + private ListAppender listAppender; @BeforeClass public static void init() { @@ -73,7 +80,7 @@ public class PublishServletTest { } @AfterClass - public static void tearDownClass() { + public static void tearDownClass() throws FileNotFoundException { em.clear(); em.close(); emf.close(); @@ -82,8 +89,9 @@ public class PublishServletTest { @Before public void setUp() throws Exception { + listAppender = setTestLogger(PublishServlet.class); publishServlet = new PublishServlet(); - db = new DB(); + ProvDbUtils.getInstance().initProvDB(); } @Test @@ -93,6 +101,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 +144,7 @@ public class PublishServletTest { setConditionsForPositiveSuccessFlow(); publishServlet.doDelete(request, response); verify(response).setStatus(eq(HttpServletResponse.SC_MOVED_PERMANENTLY)); + verifyEnteringExitCalled(listAppender); } @Test @@ -144,6 +154,7 @@ public class PublishServletTest { publishServlet.doPut(request, response); verify(response).setStatus(eq(HttpServletResponse.SC_MOVED_PERMANENTLY)); + verifyEnteringExitCalled(listAppender); } @Test @@ -153,15 +164,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 {