DB reworking for PublishServletTest 29/64229/6
authorEmmett Cox <emmett.cox@ericsson.com>
Mon, 3 Sep 2018 10:43:13 +0000 (11:43 +0100)
committerEmmett Cox <emmett.cox@ericsson.com>
Tue, 4 Sep 2018 13:35:54 +0000 (14:35 +0100)
Change-Id: Ie6dc40d2eb1533c1eef637ea7e2683556bb4f4a7
Signed-off-by: Emmett Cox <emmett.cox@ericsson.com>
Issue-ID: DMAAP-101

datarouter-prov/src/test/java/org/onap/dmaap/datarouter/provisioning/PublishServletTest.java
datarouter-prov/src/test/resources/create.sql

index 92403ac..cee09e5 100755 (executable)
 package org.onap.dmaap.datarouter.provisioning;
 
 import org.apache.commons.lang3.reflect.FieldUtils;
-import org.json.JSONObject;
+import org.junit.AfterClass;
 import org.junit.Before;
+import org.junit.BeforeClass;
 import org.junit.Test;
 import org.junit.runner.RunWith;
-import org.mockito.Matchers;
 import org.mockito.Mock;
-import org.onap.dmaap.datarouter.authz.AuthorizationResponse;
-import org.onap.dmaap.datarouter.authz.Authorizer;
-import org.onap.dmaap.datarouter.provisioning.beans.*;
-import org.powermock.api.mockito.PowerMockito;
-import org.powermock.core.classloader.annotations.SuppressStaticInitializationFor;
+import org.onap.dmaap.datarouter.provisioning.utils.DB;
 import org.powermock.modules.junit4.PowerMockRunner;
 
-import javax.servlet.ServletConfig;
-import javax.servlet.ServletContext;
-import javax.servlet.ServletOutputStream;
+import javax.persistence.EntityManager;
+import javax.persistence.EntityManagerFactory;
+import javax.persistence.Persistence;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
-import java.util.*;
+
 
 import static org.hamcrest.Matchers.notNullValue;
 import static org.mockito.Matchers.*;
-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;
 
 /**
  * Created by ezcoxem on 21/08/2018.
  */
 
 @RunWith(PowerMockRunner.class)
-@SuppressStaticInitializationFor("org.onap.dmaap.datarouter.provisioning.beans.Feed")
-public class PublishServletTest extends DrServletTestBase {
+public class PublishServletTest {
     private PublishServlet publishServlet;
 
-    private static String START_JSON_STRING = "{";
-    private static String END_JSON_STRING = "}";
-    private static String START_JSON_ARRAY = "[";
-    private static String END_JSON_ARRAY = "]";
-    private static String COMMA = ",";
-
     @Mock
     private HttpServletRequest request;
 
     @Mock
     private HttpServletResponse response;
 
+    private static EntityManagerFactory emf;
+    private static EntityManager em;
+    private DB db;
+
+    @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 {
-        super.setUp();
         publishServlet = new PublishServlet();
+        db = new DB();
     }
 
     @Test
@@ -84,12 +92,12 @@ public class PublishServletTest extends DrServletTestBase {
         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)));
+        FieldUtils.writeDeclaredStaticField(BaseServlet.class, "nodes", new String[1], true);
     }
 
     @Test
     public void Given_Request_Is_HTTP_DELETE_And_Path_Is_Null_Then_Not_Found_Error_Is_Returned()
             throws Exception {
-        FieldUtils.writeDeclaredStaticField(BaseServlet.class, "nodes", new String[1], true);
         publishServlet.doDelete(request, response);
         verify(response).sendError(eq(HttpServletResponse.SC_NOT_FOUND), argThat(notNullValue(String.class)));
     }
@@ -97,8 +105,8 @@ public class PublishServletTest extends DrServletTestBase {
     @Test
     public void Given_Request_Is_HTTP_DELETE_And_Ix_Is_Null_Then_Not_Found_Error_Is_Returned()
             throws Exception {
-        FieldUtils.writeDeclaredStaticField(BaseServlet.class, "nodes", new String[1], true);
-        when(request.getPathInfo()).thenReturn("/123/");
+
+        when(request.getPathInfo()).thenReturn("/1/");
         publishServlet.doDelete(request, response);
         verify(response).sendError(eq(HttpServletResponse.SC_NOT_FOUND), argThat(notNullValue(String.class)));
     }
@@ -106,10 +114,7 @@ public class PublishServletTest extends DrServletTestBase {
     @Test
     public void Given_Request_Is_HTTP_DELETE_And_Feed_Is_Not_Valid_Then_Not_Found_Error_Is_Returned()
             throws Exception {
-        FieldUtils.writeDeclaredStaticField(BaseServlet.class, "nodes", new String[1], true);
-        when(request.getPathInfo()).thenReturn("/123/fileName.txt");
-        PowerMockito.mockStatic(Feed.class);
-        PowerMockito.when(Feed.isFeedValid(anyInt())).thenReturn(false);
+        when(request.getPathInfo()).thenReturn("/122/fileName.txt");
         publishServlet.doDelete(request, response);
         verify(response).sendError(eq(HttpServletResponse.SC_NOT_FOUND), argThat(notNullValue(String.class)));
     }
@@ -117,10 +122,7 @@ public class PublishServletTest extends DrServletTestBase {
     @Test
     public void Given_Request_Is_HTTP_DELETE_And_Feed_Is_Not_A_Number_Then_Not_Found_Error_Is_Returned()
             throws Exception {
-        FieldUtils.writeDeclaredStaticField(BaseServlet.class, "nodes", new String[1], true);
         when(request.getPathInfo()).thenReturn("/abc/fileName.txt");
-        PowerMockito.mockStatic(Feed.class);
-        PowerMockito.when(Feed.isFeedValid(anyInt())).thenReturn(false);
         publishServlet.doDelete(request, response);
         verify(response).sendError(eq(HttpServletResponse.SC_NOT_FOUND), argThat(notNullValue(String.class)));
     }
@@ -129,8 +131,8 @@ public class PublishServletTest extends DrServletTestBase {
     @Test
     public void Given_Request_Is_HTTP_DELETE_And_All_Ok_Then_Request_succeeds()
             throws Exception {
-        setConditionsForPositiveSuccessFlow();
         when(request.getHeader(anyString())).thenReturn("Basic dXNlcg==");
+        setConditionsForPositiveSuccessFlow();
         publishServlet.doDelete(request, response);
         verify(response).setStatus(eq(HttpServletResponse.SC_MOVED_PERMANENTLY));
     }
@@ -163,52 +165,10 @@ public class PublishServletTest extends DrServletTestBase {
     }
 
     private void setConditionsForPositiveSuccessFlow() throws Exception {
-        FieldUtils.writeDeclaredStaticField(BaseServlet.class, "nodes", new String[1], true);
-        FieldUtils.writeDeclaredField(publishServlet, "next_node", 0, true);
         FieldUtils.writeDeclaredField(publishServlet, "provstring", "", true);
-        FieldUtils.writeDeclaredField(publishServlet, "irt", new ArrayList<IngressRoute>(), true);
-        FieldUtils.writeDeclaredStaticField(NodeClass.class, "map", new HashMap<String,String>(), true);
-        when(request.getPathInfo()).thenReturn("/123/fileName.txt");
-        PowerMockito.mockStatic(Feed.class);
-        PowerMockito.when(Feed.isFeedValid(anyInt())).thenReturn(true);
-        setPokerToNotCreateTimersWhenDeleteFeedIsCalled();
+        when(request.getPathInfo()).thenReturn("/1/fileName.txt");
     }
 
-    private void setPokerToNotCreateTimersWhenDeleteFeedIsCalled() throws Exception {
-        Poker poker = mock(Poker.class);
-        FieldUtils.writeDeclaredStaticField(Poker.class, "poker", poker, true);
-        when(poker.getProvisioningString()).thenReturn(buildProvisioningString());
-    }
-
-
-    private String buildProvisioningString(){
-        StringBuffer provisionString = new StringBuffer();
-        provisionString.append(START_JSON_STRING);
-        provisionString.append("'ingress':");
-        provisionString.append(START_JSON_ARRAY);
-        provisionString.append(buildIngressRoute());
-        provisionString.append(END_JSON_ARRAY);
-        provisionString.append(END_JSON_STRING);
-        return provisionString.toString();
-    }
-
-    private StringBuffer buildIngressRoute(){
-        StringBuffer provisionString = new StringBuffer();
-        provisionString.append(START_JSON_STRING);
-        provisionString.append("'seq':1");
-        provisionString.append(COMMA);
-        provisionString.append("'feedid':123");
-        provisionString.append(COMMA);
-        provisionString.append("'user':'user'");
-        provisionString.append(COMMA);
-        provisionString.append("'subnet':'127.0.0.1'");
-        provisionString.append(COMMA);
-        provisionString.append("'nodelist':-1");
-        provisionString.append(COMMA);
-        provisionString.append("'node':['1','2']");
-        provisionString.append(END_JSON_STRING);
-        return provisionString;
-    }
 
 
 }
index 90484ab..d2df249 100755 (executable)
@@ -147,3 +147,15 @@ VALUES (1, 'Basic dXNlcjE6cGFzc3dvcmQx', 'Group1', 'First Group for testing', 'C
 
 INSERT INTO SUBSCRIPTIONS(SUBID, FEEDID, DELIVERY_URL, DELIVERY_USER, DELIVERY_PASSWORD, SUBSCRIBER, SELF_LINK, LOG_LINK)
 VALUES (23, 1, 'http://delivery_url', 'user1', 'somepassword', 'sub123', 'selflink', 'loglink');
+
+INSERT INTO FEEDS(FEEDID, GROUPID, NAME, VERSION, DESCRIPTION, BUSINESS_DESCRIPTION, AUTH_CLASS, PUBLISHER, SELF_LINK, PUBLISH_LINK, SUBSCRIBE_LINK, LOG_LINK)
+VALUES (1, 1,'Feed1','v0.1', 'First Feed for testing', 'First Feed for testing', 'auth_class', 'pub','self_link','publish_link','subscribe_link','log_link');
+
+insert into INGRESS_ROUTES(SEQUENCE, FEEDID , USERID, SUBNET, NODESET)
+VALUES (1,1,'user',null,2);
+
+insert into INGRESS_ROUTES(SEQUENCE, FEEDID , USERID, SUBNET, NODESET)
+VALUES (2,1,'user',null,2);
+
+insert into NODESETS(SETID, NODEID)
+VALUES (2,0);
\ No newline at end of file