X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=datarouter-prov%2Fsrc%2Ftest%2Fjava%2Forg%2Fonap%2Fdmaap%2Fdatarouter%2Fprovisioning%2FPublishServletTest.java;h=49e93bf154e39664e76fe860b2d41c022dab7a10;hb=8552e04175c7091d0d748e0c0f4b14a0d9321b40;hp=cee09e5ce90fe676d80079383d05143eda0ced86;hpb=c7ddeaab4dd317de91aac32e07404a2ed4ac6567;p=dmaap%2Fdatarouter.git 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..49e93bf1 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,15 @@ 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.PowerMockIgnore; +import org.powermock.core.classloader.annotations.PrepareForTest; import org.powermock.modules.junit4.PowerMockRunner; import javax.persistence.EntityManager; @@ -40,17 +41,24 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import static org.hamcrest.Matchers.notNullValue; -import static org.mockito.Matchers.*; +import java.io.FileNotFoundException; +import java.net.InetAddress; + +import static org.junit.Assert.assertEquals; +import static org.mockito.ArgumentMatchers.anyString; +import static org.mockito.ArgumentMatchers.eq; 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 }) +@PowerMockIgnore({"com.sun.org.apache.xerces.*", "javax.xml.*", "org.xml.*", "org.w3c.*"}) +public class PublishServletTest extends DrServletTestBase { private PublishServlet publishServlet; @Mock @@ -61,7 +69,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 +82,7 @@ public class PublishServletTest { } @AfterClass - public static void tearDownClass() { + public static void tearDownClass() throws FileNotFoundException { em.clear(); em.close(); emf.close(); @@ -82,8 +91,9 @@ public class PublishServletTest { @Before public void setUp() throws Exception { + listAppender = setTestLogger(PublishServlet.class); publishServlet = new PublishServlet(); - db = new DB(); + ProvDbUtils.getInstance().initProvDB(); } @Test @@ -91,15 +101,16 @@ public class PublishServletTest { throws Exception { FieldUtils.writeDeclaredStaticField(BaseServlet.class, "nodes", new String[0], true); publishServlet.doDelete(request, response); - verify(response).sendError(eq(HttpServletResponse.SC_SERVICE_UNAVAILABLE), argThat(notNullValue(String.class))); + verify(response).sendError(eq(HttpServletResponse.SC_SERVICE_UNAVAILABLE), anyString()); FieldUtils.writeDeclaredStaticField(BaseServlet.class, "nodes", new String[1], true); + verifyEnteringExitCalled(listAppender); } @Test public void Given_Request_Is_HTTP_DELETE_And_Path_Is_Null_Then_Not_Found_Error_Is_Returned() throws Exception { publishServlet.doDelete(request, response); - verify(response).sendError(eq(HttpServletResponse.SC_NOT_FOUND), argThat(notNullValue(String.class))); + verify(response).sendError(eq(HttpServletResponse.SC_NOT_FOUND), anyString()); } @Test @@ -108,7 +119,7 @@ public class PublishServletTest { when(request.getPathInfo()).thenReturn("/1/"); publishServlet.doDelete(request, response); - verify(response).sendError(eq(HttpServletResponse.SC_NOT_FOUND), argThat(notNullValue(String.class))); + verify(response).sendError(eq(HttpServletResponse.SC_NOT_FOUND), anyString()); } @Test @@ -116,7 +127,7 @@ public class PublishServletTest { throws Exception { when(request.getPathInfo()).thenReturn("/122/fileName.txt"); publishServlet.doDelete(request, response); - verify(response).sendError(eq(HttpServletResponse.SC_NOT_FOUND), argThat(notNullValue(String.class))); + verify(response).sendError(eq(HttpServletResponse.SC_NOT_FOUND), anyString()); } @Test @@ -124,7 +135,7 @@ public class PublishServletTest { throws Exception { when(request.getPathInfo()).thenReturn("/abc/fileName.txt"); publishServlet.doDelete(request, response); - verify(response).sendError(eq(HttpServletResponse.SC_NOT_FOUND), argThat(notNullValue(String.class))); + verify(response).sendError(eq(HttpServletResponse.SC_NOT_FOUND), anyString()); } @@ -135,6 +146,7 @@ public class PublishServletTest { setConditionsForPositiveSuccessFlow(); publishServlet.doDelete(request, response); verify(response).setStatus(eq(HttpServletResponse.SC_MOVED_PERMANENTLY)); + verifyEnteringExitCalled(listAppender); } @Test @@ -144,6 +156,7 @@ public class PublishServletTest { publishServlet.doPut(request, response); verify(response).setStatus(eq(HttpServletResponse.SC_MOVED_PERMANENTLY)); + verifyEnteringExitCalled(listAppender); } @Test @@ -153,15 +166,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 {