X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=datarouter-prov%2Fsrc%2Ftest%2Fjava%2Forg%2Fonap%2Fdmaap%2Fdatarouter%2Fprovisioning%2FInternalServletTest.java;h=1601e63daa96903b605decb5825ad8e7263f71de;hb=8552e04175c7091d0d748e0c0f4b14a0d9321b40;hp=591dcc3d94e612fe3eea1e967200f1870d8f79a5;hpb=6d2aa55b167dcd2055eb9796241c4f319ef169e6;p=dmaap%2Fdatarouter.git diff --git a/datarouter-prov/src/test/java/org/onap/dmaap/datarouter/provisioning/InternalServletTest.java b/datarouter-prov/src/test/java/org/onap/dmaap/datarouter/provisioning/InternalServletTest.java index 591dcc3d..1601e63d 100644 --- a/datarouter-prov/src/test/java/org/onap/dmaap/datarouter/provisioning/InternalServletTest.java +++ b/datarouter-prov/src/test/java/org/onap/dmaap/datarouter/provisioning/InternalServletTest.java @@ -22,15 +22,15 @@ ******************************************************************************/ package org.onap.dmaap.datarouter.provisioning; -import static org.hamcrest.Matchers.notNullValue; -import static org.mockito.Matchers.anyString; -import static org.mockito.Matchers.argThat; -import static org.mockito.Matchers.eq; +import static org.mockito.ArgumentMatchers.anyString; +import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; import static org.onap.dmaap.datarouter.provisioning.BaseServlet.BEHALF_HEADER; +import ch.qos.logback.classic.spi.ILoggingEvent; +import ch.qos.logback.core.read.ListAppender; import java.io.File; import java.net.InetAddress; import javax.persistence.EntityManager; @@ -40,25 +40,28 @@ import javax.servlet.ServletInputStream; import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; - import org.apache.commons.lang3.reflect.FieldUtils; +import org.junit.AfterClass; +import org.junit.Assert; import org.junit.Before; +import org.junit.BeforeClass; import org.junit.Test; import org.junit.runner.RunWith; -import org.junit.BeforeClass; -import org.junit.AfterClass; import org.mockito.Mock; - import org.onap.dmaap.datarouter.provisioning.beans.Deleteable; import org.onap.dmaap.datarouter.provisioning.beans.Insertable; import org.onap.dmaap.datarouter.provisioning.beans.LogRecord; +import org.onap.dmaap.datarouter.provisioning.beans.Parameters; import org.onap.dmaap.datarouter.provisioning.beans.Updateable; +import org.onap.dmaap.datarouter.provisioning.utils.Poker; import org.powermock.api.mockito.PowerMockito; +import org.powermock.core.classloader.annotations.PowerMockIgnore; import org.powermock.core.classloader.annotations.PrepareForTest; import org.powermock.modules.junit4.PowerMockRunner; @RunWith(PowerMockRunner.class) @PrepareForTest(LogRecord.class) +@PowerMockIgnore({"com.sun.org.apache.xerces.*", "javax.xml.*", "org.xml.*", "org.w3c.*"}) public class InternalServletTest extends DrServletTestBase { private static EntityManagerFactory emf; private static EntityManager em; @@ -70,6 +73,8 @@ public class InternalServletTest extends DrServletTestBase { @Mock private HttpServletResponse response; + ListAppender listAppender; + @BeforeClass public static void init() { emf = Persistence.createEntityManagerFactory("dr-unit-tests"); @@ -88,8 +93,9 @@ public class InternalServletTest extends DrServletTestBase { @Before public void setUp() throws Exception { - internalServlet = new InternalServlet(); - setUpValidAuthorisedRequest(); + listAppender = setTestLogger(InternalServlet.class); + internalServlet = new InternalServlet(); + setUpValidAuthorisedRequest(); } @Test @@ -98,7 +104,8 @@ public class InternalServletTest extends DrServletTestBase { when(request.getRemoteAddr()).thenReturn("127.100.0.3"); internalServlet.doGet(request, response); verify(response) - .sendError(eq(HttpServletResponse.SC_FORBIDDEN), argThat(notNullValue(String.class))); + .sendError(eq(HttpServletResponse.SC_FORBIDDEN), anyString()); + verifyEnteringExitCalled(listAppender); } @Test @@ -127,6 +134,7 @@ public class InternalServletTest extends DrServletTestBase { when(request.isSecure()).thenReturn(false); internalServlet.doGet(request, response); verify(response).setStatus(eq(HttpServletResponse.SC_OK)); + verifyEnteringExitCalled(listAppender); } @Test @@ -155,14 +163,16 @@ public class InternalServletTest extends DrServletTestBase { when(request.getPathInfo()).thenReturn("/logs/TestFile"); internalServlet.doGet(request, response); verify(response) - .sendError(eq(HttpServletResponse.SC_NO_CONTENT), argThat(notNullValue(String.class))); + .sendError(eq(HttpServletResponse.SC_NO_CONTENT), anyString()); } @Test public void Given_Request_Is_HTTP_GET_Starts_With_Logs_In_Endpoint_And_File_Exists_Then_Request_Returns_Ok() throws Exception { when(request.getPathInfo()).thenReturn("/logs/testFile.txt"); + File testDir = new File("unit-test-logs"); File testFile = new File("unit-test-logs/testFile.txt"); + testDir.mkdirs(); testFile.createNewFile(); testFile.deleteOnExit(); ServletOutputStream outStream = mock(ServletOutputStream.class); @@ -196,7 +206,7 @@ public class InternalServletTest extends DrServletTestBase { when(request.getPathInfo()).thenReturn("/incorrect/"); internalServlet.doGet(request, response); verify(response) - .sendError(eq(HttpServletResponse.SC_NOT_FOUND), argThat(notNullValue(String.class))); + .sendError(eq(HttpServletResponse.SC_NOT_FOUND), anyString()); } @Test @@ -206,7 +216,8 @@ public class InternalServletTest extends DrServletTestBase { FieldUtils.writeDeclaredStaticField(BaseServlet.class, "isAddressAuthEnabled", "true", true); internalServlet.doPut(request, response); verify(response) - .sendError(eq(HttpServletResponse.SC_FORBIDDEN), argThat(notNullValue(String.class))); + .sendError(eq(HttpServletResponse.SC_FORBIDDEN), anyString()); + verifyEnteringExitCalled(listAppender); } @Test @@ -218,6 +229,7 @@ public class InternalServletTest extends DrServletTestBase { setPokerToNotCreateTimers(); internalServlet.doPut(request, response); verify(response).setStatus(eq(HttpServletResponse.SC_OK)); + verifyEnteringExitCalled(listAppender); } @Test @@ -229,7 +241,7 @@ public class InternalServletTest extends DrServletTestBase { internalServlet = internalServerFailure(); internalServlet.doPut(request, response); verify(response).sendError(eq(HttpServletResponse.SC_INTERNAL_SERVER_ERROR), - argThat(notNullValue(String.class))); + anyString()); } @Test @@ -238,7 +250,7 @@ public class InternalServletTest extends DrServletTestBase { when(request.getPathInfo()).thenReturn("/incorrect"); internalServlet.doPut(request, response); verify(response) - .sendError(eq(HttpServletResponse.SC_NOT_FOUND), argThat(notNullValue(String.class))); + .sendError(eq(HttpServletResponse.SC_NOT_FOUND), anyString()); } @Test @@ -248,7 +260,8 @@ public class InternalServletTest extends DrServletTestBase { FieldUtils.writeDeclaredStaticField(BaseServlet.class, "isAddressAuthEnabled", "true", true); internalServlet.doDelete(request, response); verify(response) - .sendError(eq(HttpServletResponse.SC_FORBIDDEN), argThat(notNullValue(String.class))); + .sendError(eq(HttpServletResponse.SC_FORBIDDEN), anyString()); + verifyEnteringExitCalled(listAppender); } @Test @@ -261,6 +274,17 @@ public class InternalServletTest extends DrServletTestBase { setPokerToNotCreateTimers(); internalServlet.doDelete(request, response); verify(response).setStatus(eq(HttpServletResponse.SC_OK)); + verifyEnteringExitCalled(listAppender); + } + + @Test + public void Given_Request_Is_HTTP_DELETE_With_LogRollInterval_Api_In_Endpoint_Request_Succeeds() { + when(request.getPathInfo()).thenReturn("/api/LOGROLL_INTERVAL"); + internalServlet.doDelete(request, response); + verify(response).setStatus(eq(HttpServletResponse.SC_OK)); + Parameters p1 = Parameters.getParameter("NODES"); + Assert.assertEquals("{\"keyname\":\"NODES\",\"value\":\"dmaap-dr-node\"}", p1.asJSONObject().toString()); + Assert.assertEquals("PARAM: keyname=NODES, value=dmaap-dr-node", p1.toString()); } @Test @@ -272,7 +296,7 @@ public class InternalServletTest extends DrServletTestBase { internalServlet = internalServerFailure(); internalServlet.doDelete(request, response); verify(response).sendError(eq(HttpServletResponse.SC_INTERNAL_SERVER_ERROR), - argThat(notNullValue(String.class))); + anyString()); } @Test @@ -281,7 +305,7 @@ public class InternalServletTest extends DrServletTestBase { when(request.getPathInfo()).thenReturn("/incorrect"); internalServlet.doDelete(request, response); verify(response) - .sendError(eq(HttpServletResponse.SC_NOT_FOUND), argThat(notNullValue(String.class))); + .sendError(eq(HttpServletResponse.SC_NOT_FOUND), anyString()); } @Test @@ -290,7 +314,8 @@ public class InternalServletTest extends DrServletTestBase { when(request.getRemoteAddr()).thenReturn("127.100.0.3"); internalServlet.doPost(request, response); verify(response) - .sendError(eq(HttpServletResponse.SC_FORBIDDEN), argThat(notNullValue(String.class))); + .sendError(eq(HttpServletResponse.SC_FORBIDDEN), anyString()); + verifyEnteringExitCalled(listAppender); } @Test @@ -302,6 +327,7 @@ public class InternalServletTest extends DrServletTestBase { setPokerToNotCreateTimers(); internalServlet.doPost(request, response); verify(response).setStatus(eq(HttpServletResponse.SC_OK)); + verifyEnteringExitCalled(listAppender); } @Test @@ -313,12 +339,11 @@ public class InternalServletTest extends DrServletTestBase { internalServlet = internalServerFailure(); internalServlet.doPost(request, response); verify(response).sendError(eq(HttpServletResponse.SC_INTERNAL_SERVER_ERROR), - argThat(notNullValue(String.class))); + anyString()); } @Test - public void Given_Request_Is_HTTP_POST_To_Logs_And_Content_Header_Is_Not_Supported_Type_Then_Unsupported_Media_Type_Response_Is_Generated() - throws Exception { + public void Given_Request_Is_HTTP_POST_To_Logs_And_Content_Header_Is_Not_Supported_Type_Then_Unsupported_Media_Type_Response_Is_Generated() { when(request.getHeader("Content-Type")).thenReturn("stub_contentType"); when(request.getPathInfo()).thenReturn("/logs/"); internalServlet.doPost(request, response); @@ -326,8 +351,7 @@ public class InternalServletTest extends DrServletTestBase { } @Test - public void Given_Request_Is_HTTP_POST_To_Logs_And_Content_Encoding_Is_Not_Supported_Type_Then_Unsupported_Media_Type_Response_Is_Generated() - throws Exception { + public void Given_Request_Is_HTTP_POST_To_Logs_And_Content_Encoding_Is_Not_Supported_Type_Then_Unsupported_Media_Type_Response_Is_Generated() { when(request.getHeader("Content-Encoding")).thenReturn("not-supported"); when(request.getPathInfo()).thenReturn("/logs/"); internalServlet.doPost(request, response); @@ -349,8 +373,7 @@ public class InternalServletTest extends DrServletTestBase { } @Test - public void Given_Request_Is_HTTP_POST_To_Drlogs_And_Then_Unsupported_Media_Type_Response_Is_Generated() - throws Exception { + public void Given_Request_Is_HTTP_POST_To_Drlogs_And_Then_Unsupported_Media_Type_Response_Is_Generated() { when(request.getHeader("Content-Type")).thenReturn("stub_contentType"); when(request.getPathInfo()).thenReturn("/drlogs/"); internalServlet.doPost(request, response); @@ -368,13 +391,20 @@ public class InternalServletTest extends DrServletTestBase { verify(response).setStatus(eq(HttpServletResponse.SC_OK)); } + @Test + public void Given_Request_Is_HTTP_POST_To_Api_And_Request_Succeeds() { + when(request.getPathInfo()).thenReturn("/api/NEW_PARAM?val=blah"); + internalServlet.doPost(request, response); + verify(response).setStatus(eq(HttpServletResponse.SC_OK)); + } + @Test public void Given_Request_Is_HTTP_POST_With_Incorrect_Endpoint_Then_Not_Found_Error_Is_Generated() throws Exception { when(request.getPathInfo()).thenReturn("/incorrect/"); internalServlet.doPost(request, response); verify(response) - .sendError(eq(HttpServletResponse.SC_NOT_FOUND), argThat(notNullValue(String.class))); + .sendError(eq(HttpServletResponse.SC_NOT_FOUND), anyString()); } private void setUpValidAuthorisedRequest() throws Exception {