X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=datarouter-prov%2Fsrc%2Ftest%2Fjava%2Forg%2Fonap%2Fdmaap%2Fdatarouter%2Fprovisioning%2FStatisticsServletTest.java;h=3438627d820dacfe1f476fae16365dbfeff555e7;hb=refs%2Fchanges%2F76%2F93176%2F1;hp=e42a8a8cab41e3d61126f95f534b4f54757df679;hpb=ffc48449c5455bca1509facfe569d0177c52b1ca;p=dmaap%2Fdatarouter.git diff --git a/datarouter-prov/src/test/java/org/onap/dmaap/datarouter/provisioning/StatisticsServletTest.java b/datarouter-prov/src/test/java/org/onap/dmaap/datarouter/provisioning/StatisticsServletTest.java old mode 100644 new mode 100755 index e42a8a8c..3438627d --- a/datarouter-prov/src/test/java/org/onap/dmaap/datarouter/provisioning/StatisticsServletTest.java +++ b/datarouter-prov/src/test/java/org/onap/dmaap/datarouter/provisioning/StatisticsServletTest.java @@ -22,100 +22,138 @@ ******************************************************************************/ package org.onap.dmaap.datarouter.provisioning; +import static org.hamcrest.Matchers.notNullValue; +import static org.mockito.Matchers.argThat; +import static org.mockito.Matchers.eq; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.when; + +import javax.persistence.EntityManager; +import javax.persistence.EntityManagerFactory; +import javax.persistence.Persistence; +import javax.servlet.ServletOutputStream; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.junit.AfterClass; import org.junit.Before; +import org.junit.BeforeClass; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; +import org.onap.dmaap.datarouter.provisioning.utils.DB; import org.powermock.modules.junit4.PowerMockRunner; -import javax.servlet.ServletOutputStream; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.SQLException; -import static org.hamcrest.Matchers.notNullValue; -import static org.mockito.Matchers.*; -import static org.mockito.Mockito.*; @RunWith(PowerMockRunner.class) -public class StatisticsServletTest extends DrServletTestBase{ - private StatisticsServlet statisticsServlet; - - @Mock - private HttpServletRequest request; - - @Mock - private HttpServletResponse response; - - @Before - public void setUp() throws Exception{ - super.setUp(); - statisticsServlet = new StatisticsServlet(); - buildRequestParameters(); - } - - @Test - public void Given_Request_Is_HTTP_DELETE_SC_METHOD_NOT_ALLOWED_Response_Is_Generated() throws Exception { - statisticsServlet.doDelete(request, response); - verify(response).sendError(eq(HttpServletResponse.SC_METHOD_NOT_ALLOWED), argThat(notNullValue(String.class))); - } - - @Test - public void Given_Request_Is_HTTP_PUT_SC_METHOD_NOT_ALLOWED_Response_Is_Generated() throws Exception { - statisticsServlet.doPut(request, response); - verify(response).sendError(eq(HttpServletResponse.SC_METHOD_NOT_ALLOWED), argThat(notNullValue(String.class))); - } - - @Test - public void Given_Request_Is_HTTP_POST_SC_METHOD_NOT_ALLOWED_Response_Is_Generated() throws Exception { - statisticsServlet.doPost(request, response); - verify(response).sendError(eq(HttpServletResponse.SC_METHOD_NOT_ALLOWED), argThat(notNullValue(String.class))); - } - - @Test - public void Given_Request_Is_HTTP_GET_With_Incorrect_Parameters_Then_Bad_Request_Response_Is_Generated() throws Exception { - when(request.getParameter("type")).thenReturn("get"); - statisticsServlet.doGet(request, response); - verify(response).sendError(eq(HttpServletResponse.SC_BAD_REQUEST), argThat(notNullValue(String.class))); - } - - @Test - public void Given_Request_Is_HTTP_GET_With_GroupId_But_No_FeedId_Parameters_Then_Request_Succeeds() throws Exception { - ServletOutputStream outStream = mock(ServletOutputStream.class); - when(response.getOutputStream()).thenReturn(outStream); - statisticsServlet = mock(StatisticsServlet.class); - doCallRealMethod().when(statisticsServlet).doGet(request, response); - doNothing().when(statisticsServlet).rsToCSV(anyObject(), anyObject()); - when(statisticsServlet.getFeedIdsByGroupId(anyInt())).thenReturn(new StringBuffer("1")); - statisticsServlet.doGet(request, response); - verify(response).setStatus(eq(HttpServletResponse.SC_OK)); - } - - @Test - public void Given_Request_Is_HTTP_GET_With_GroupId_And_FeedId_Parameters_Then_Request_Succeeds() throws Exception { - when(request.getParameter("feedid")).thenReturn("1"); - ServletOutputStream outStream = mock(ServletOutputStream.class); - when(response.getOutputStream()).thenReturn(outStream); - statisticsServlet = mock(StatisticsServlet.class); - doCallRealMethod().when(statisticsServlet).doGet(request, response); - doCallRealMethod().when(statisticsServlet).queryGeneretor(anyObject()); - doNothing().when(statisticsServlet).rsToCSV(anyObject(), anyObject()); - when(statisticsServlet.getFeedIdsByGroupId(anyInt())).thenReturn(new StringBuffer("1")); - statisticsServlet.doGet(request, response); - verify(response).setStatus(eq(HttpServletResponse.SC_OK)); - } - - private void buildRequestParameters() { - when(request.getParameter("type")).thenReturn("exp"); - when(request.getParameter("publishId")).thenReturn("ID"); - when(request.getParameter("statusCode")).thenReturn("success"); - when(request.getParameter("expiryReason")).thenReturn("other"); - when(request.getParameter("start")).thenReturn("0"); - when(request.getParameter("end")).thenReturn("0"); - when(request.getParameter("output_type")).thenReturn("csv"); - when(request.getParameter("start_time")).thenReturn("13"); - when(request.getParameter("end_time")).thenReturn("15"); - when(request.getParameter("time")).thenReturn("10"); - when(request.getParameter("groupid")).thenReturn("1"); - when(request.getParameter("subid")).thenReturn("1"); - } +public class StatisticsServletTest { + + private StatisticsServlet statisticsServlet; + + @Mock + private HttpServletRequest request; + + @Mock + private HttpServletResponse response; + + private DB db; + + private static EntityManagerFactory emf; + private static EntityManager em; + + @BeforeClass + public static void init() { + emf = Persistence.createEntityManagerFactory("dr-unit-tests"); + em = emf.createEntityManager(); + System.setProperty( + "org.onap.dmaap.datarouter.provserver.properties", + "src/test/resources/h2Database.properties"); + } + + @AfterClass + public static void tearDownClass() { + em.clear(); + em.close(); + emf.close(); + } + + @Before + public void setUp() throws Exception { + statisticsServlet = new StatisticsServlet(); + db = new DB(); + buildRequestParameters(); + } + + @Test + public void Given_Request_Is_HTTP_DELETE_SC_METHOD_NOT_ALLOWED_Response_Is_Generated() + throws Exception { + statisticsServlet.doDelete(request, response); + verify(response).sendError(eq(HttpServletResponse.SC_METHOD_NOT_ALLOWED), + argThat(notNullValue(String.class))); + } + + @Test + public void Given_Request_Is_HTTP_PUT_SC_METHOD_NOT_ALLOWED_Response_Is_Generated() + throws Exception { + statisticsServlet.doPut(request, response); + verify(response).sendError(eq(HttpServletResponse.SC_METHOD_NOT_ALLOWED), + argThat(notNullValue(String.class))); + } + + @Test + public void Given_Request_Is_HTTP_POST_SC_METHOD_NOT_ALLOWED_Response_Is_Generated() + throws Exception { + statisticsServlet.doPost(request, response); + verify(response).sendError(eq(HttpServletResponse.SC_METHOD_NOT_ALLOWED), + argThat(notNullValue(String.class))); + } + + @Test + public void Given_Request_Is_HTTP_GET_With_Incorrect_Parameters_Then_Bad_Request_Response_Is_Generated() + throws Exception { + when(request.getParameter("type")).thenReturn("get"); + statisticsServlet.doGet(request, response); + verify(response) + .sendError(eq(HttpServletResponse.SC_BAD_REQUEST), argThat(notNullValue(String.class))); + } + + @Test + public void Given_Request_Is_HTTP_GET_With_GroupId_But_No_FeedId_Parameters_Then_Request_Succeeds() + throws Exception { + ServletOutputStream outStream = mock(ServletOutputStream.class); + when(response.getOutputStream()).thenReturn(outStream); + statisticsServlet.doGet(request, response); + verify(response).setStatus(eq(HttpServletResponse.SC_OK)); + } + + @Test + public void Given_Request_Is_HTTP_GET_With_GroupId_And_FeedId_Parameters_Then_Request_Succeeds() + throws Exception { + when(request.getParameter("feedid")).thenReturn("1"); + when(request.getParameter("statusCode")).thenReturn("500"); + ServletOutputStream outStream = mock(ServletOutputStream.class); + when(response.getOutputStream()).thenReturn(outStream); + statisticsServlet.doGet(request, response); + verify(response).setStatus(eq(HttpServletResponse.SC_OK)); + } + + private void buildRequestParameters() { + when(request.getParameter("type")).thenReturn("exp"); + when(request.getParameter("publishId")).thenReturn("ID"); + when(request.getParameter("statusCode")).thenReturn("success"); + when(request.getParameter("expiryReason")).thenReturn("other"); + when(request.getParameter("start")).thenReturn("0"); + when(request.getParameter("end")).thenReturn("0"); + when(request.getParameter("output_type")).thenReturn("csv"); + when(request.getParameter("start_time")).thenReturn("13"); + when(request.getParameter("end_time")).thenReturn("15"); + when(request.getParameter("time")).thenReturn("10"); + when(request.getParameter("groupid")).thenReturn("1"); + when(request.getParameter("subid")).thenReturn("1"); + } }