[DMaaP DR] JKD 11 migration
[dmaap/datarouter.git] / datarouter-prov / src / test / java / org / onap / dmaap / datarouter / provisioning / InternalServletTest.java
index b421e99..1601e63 100644 (file)
  ******************************************************************************/
 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,27 +40,28 @@ import javax.servlet.ServletInputStream;
 import javax.servlet.ServletOutputStream;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
-
-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.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;
@@ -103,7 +104,7 @@ 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);
   }
 
@@ -162,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);
@@ -203,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
@@ -213,7 +216,7 @@ 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);
   }
 
@@ -238,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
@@ -247,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
@@ -257,7 +260,7 @@ 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);
   }
 
@@ -274,6 +277,16 @@ public class InternalServletTest extends DrServletTestBase {
     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
   public void Given_Request_Is_HTTP_DELETE_With_Api_In_Endpoint_And_Delete_Fails_Then_Internal_Server_Error_Is_Generated()
       throws Exception {
@@ -283,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
@@ -292,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
@@ -301,7 +314,7 @@ 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);
   }
 
@@ -326,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);
@@ -339,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);
@@ -362,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);
@@ -381,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 {