Replace ATT headers
[dmaap/datarouter.git] / datarouter-prov / src / test / java / org / onap / dmaap / datarouter / provisioning / SubscribeServletTest.java
old mode 100644 (file)
new mode 100755 (executable)
index 2d89b5e..0b5c23f
  ******************************************************************************/
 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.jetbrains.annotations.NotNull;
-import org.json.JSONArray;
 import org.json.JSONObject;
 import org.junit.Before;
 import org.junit.Test;
@@ -54,7 +55,7 @@ import static org.onap.dmaap.datarouter.provisioning.BaseServlet.BEHALF_HEADER;
 
 @RunWith(PowerMockRunner.class)
 @SuppressStaticInitializationFor({"org.onap.dmaap.datarouter.provisioning.beans.Feed", "org.onap.dmaap.datarouter.provisioning.beans.Subscription"})
-public class SubscribeServletTest extends DrServletTestBase{
+public class SubscribeServletTest extends DrServletTestBase {
     private static SubscribeServlet subscribeServlet;
 
     @Mock
@@ -62,9 +63,12 @@ public class SubscribeServletTest extends DrServletTestBase{
     @Mock
     private HttpServletResponse response;
 
+    ListAppender<ILoggingEvent> listAppender;
+
     @Before
     public void setUp() throws Exception {
         super.setUp();
+        listAppender = setTestLogger(SubscribeServlet.class);
         subscribeServlet = new SubscribeServlet();
         setAuthoriserToReturnRequestIsAuthorized();
         setPokerToNotCreateTimersWhenDeleteFeedIsCalled();
@@ -77,13 +81,16 @@ public class SubscribeServletTest extends DrServletTestBase{
     public void Given_Request_Is_HTTP_DELETE_SC_METHOD_NOT_ALLOWED_Response_Is_Generated() throws Exception {
         subscribeServlet.doDelete(request, response);
         verify(response).sendError(eq(HttpServletResponse.SC_METHOD_NOT_ALLOWED), argThat(notNullValue(String.class)));
+        verifyEnteringExitCalled(listAppender);
     }
 
     @Test
     public void Given_Request_Is_HTTP_GET_And_Is_Not_Secure_When_HTTPS_Is_Required_Then_Forbidden_Response_Is_Generated() throws Exception {
         when(request.isSecure()).thenReturn(false);
+        FieldUtils.writeDeclaredStaticField(BaseServlet.class, "isAddressAuthEnabled", "true", true);
         subscribeServlet.doGet(request, response);
         verify(response).sendError(eq(HttpServletResponse.SC_FORBIDDEN), argThat(notNullValue(String.class)));
+        verifyEnteringExitCalled(listAppender);
     }
 
     @Test
@@ -127,6 +134,7 @@ public class SubscribeServletTest extends DrServletTestBase{
         PowerMockito.when(Subscription.getSubscriptionUrlList(anyInt())).thenReturn(list);
         subscribeServlet.doGet(request, response);
         verify(response).setStatus(eq(HttpServletResponse.SC_OK));
+        verifyEnteringExitCalled(listAppender);
     }
 
 
@@ -134,12 +142,15 @@ public class SubscribeServletTest extends DrServletTestBase{
     public void Given_Request_Is_HTTP_PUT_SC_METHOD_NOT_ALLOWED_Response_Is_Generated() throws Exception {
         subscribeServlet.doPut(request, response);
         verify(response).sendError(eq(HttpServletResponse.SC_METHOD_NOT_ALLOWED), argThat(notNullValue(String.class)));
+        verifyEnteringExitCalled(listAppender);
     }
     @Test
     public void Given_Request_Is_HTTP_POST_And_Is_Not_Secure_When_HTTPS_Is_Required_Then_Forbidden_Response_Is_Generated() throws Exception {
         when(request.isSecure()).thenReturn(false);
+        FieldUtils.writeDeclaredStaticField(BaseServlet.class, "isAddressAuthEnabled", "true", true);
         subscribeServlet.doPost(request, response);
         verify(response).sendError(eq(HttpServletResponse.SC_FORBIDDEN), argThat(notNullValue(String.class)));
+        verifyEnteringExitCalled(listAppender);
     }
 
     @Test
@@ -174,7 +185,7 @@ public class SubscribeServletTest extends DrServletTestBase{
 
     @Test
     public void Given_Request_Is_HTTP_POST_And_Content_Header_Is_Not_Supported_Type_Then_Unsupported_Media_Type_Response_Is_Generated() throws Exception {
-        when(request.getHeader("Content-Type")).thenReturn("application/vnd.att-dr.feed; version=1.1");
+        when(request.getHeader("Content-Type")).thenReturn("application/vnd.dmaap-dr.feed; version=1.1");
         when(request.getContentType()).thenReturn("stub_contentType");
         subscribeServlet.doPost(request, response);
         verify(response).sendError(eq(HttpServletResponse.SC_UNSUPPORTED_MEDIA_TYPE), argThat(notNullValue(String.class)));
@@ -202,6 +213,7 @@ public class SubscribeServletTest extends DrServletTestBase{
     public void Given_Request_Is_HTTP_POST_And_POST_Fails_Bad_Request_Response_Is_Generated() throws Exception {
         PowerMockito.mockStatic(Subscription.class);
         PowerMockito.when(Subscription.getSubscriptionMatching(mock(Subscription.class))).thenReturn(null);
+        PowerMockito.when(Subscription.countActiveSubscriptions()).thenReturn(0);
         JSONObject JSObject = buildRequestJsonObject();
         SubscribeServlet subscribeServlet = new SubscribeServlet() {
             protected JSONObject getJSONfromInput(HttpServletRequest req) {
@@ -211,6 +223,7 @@ public class SubscribeServletTest extends DrServletTestBase{
                 jo.put("metadataOnly", true);
                 jo.put("suspend", true);
                 jo.put("delivery", JSObject);
+                jo.put("sync", false);
                 return jo;
             }
 
@@ -219,7 +232,6 @@ public class SubscribeServletTest extends DrServletTestBase{
                 return false;
             }
         };
-        FieldUtils.writeDeclaredStaticField(BaseServlet.class, "maxSubs", 10, true);
         subscribeServlet.doPost(request, response);
         verify(response).sendError(eq(HttpServletResponse.SC_INTERNAL_SERVER_ERROR), argThat(notNullValue(String.class)));
     }
@@ -240,6 +252,7 @@ public class SubscribeServletTest extends DrServletTestBase{
                 jo.put("metadataOnly", true);
                 jo.put("suspend", true);
                 jo.put("delivery", JSObject);
+                jo.put("sync", true);
                 return jo;
             }
 
@@ -248,27 +261,15 @@ public class SubscribeServletTest extends DrServletTestBase{
                 return true;
             }
         };
-        FieldUtils.writeDeclaredStaticField(BaseServlet.class, "maxSubs", 10, true);
         subscribeServlet.doPost(request, response);
         verify(response).setStatus(eq(HttpServletResponse.SC_CREATED));
+        verifyEnteringExitCalled(listAppender);
     }
 
 
     @NotNull
     private JSONObject buildRequestJsonObject() {
         JSONObject JSObject = new JSONObject();
-        JSONArray endpointIDs = new JSONArray();
-        JSONObject JOEndpointIDs = new JSONObject();
-        JOEndpointIDs.put("id", "stub_endpoint_id");
-        JOEndpointIDs.put("password", "stub_endpoint_password");
-        endpointIDs.put(JOEndpointIDs);
-
-        JSONArray endpointAddresses = new JSONArray();
-        endpointAddresses.put("127.0.0.1");
-
-        JSObject.put("classification", "stub_classification");
-        JSObject.put("endpoint_ids", endpointIDs);
-        JSObject.put("endpoint_addrs", endpointAddresses);
         JSObject.put("url", "https://stub_address");
         JSObject.put("use100", "true");
         JSObject.put("password", "stub_password");
@@ -276,22 +277,13 @@ public class SubscribeServletTest extends DrServletTestBase{
         return JSObject;
     }
 
-
-
-    private void initialiseBaseServletToBypassRetreiviingInitialisationParametersFromDatabase() throws IllegalAccessException {
-        FieldUtils.writeDeclaredStaticField(BaseServlet.class, "startmsgFlag", false, true);
-        SynchronizerTask synchronizerTask = mock(SynchronizerTask.class);
-        when(synchronizerTask.getState()).thenReturn(SynchronizerTask.UNKNOWN);
-        FieldUtils.writeDeclaredStaticField(SynchronizerTask.class, "synctask", synchronizerTask, true);
-        FieldUtils.writeDeclaredStaticField(BaseServlet.class, "max_subs", 10, true);
-    }
-
     private void setUpValidSecurityOnHttpRequest() throws Exception {
         when(request.isSecure()).thenReturn(true);
         Set<String> authAddressesAndNetworks = new HashSet<String>();
         authAddressesAndNetworks.add(("127.0.0.1"));
         FieldUtils.writeDeclaredStaticField(BaseServlet.class, "authorizedAddressesAndNetworks", authAddressesAndNetworks, true);
         FieldUtils.writeDeclaredStaticField(BaseServlet.class, "requireCert", false, true);
+        FieldUtils.writeDeclaredStaticField(BaseServlet.class, "maxSubs", 100, true);
     }
 
     private void setBehalfHeader(String headerValue) {
@@ -348,9 +340,8 @@ public class SubscribeServletTest extends DrServletTestBase{
     }
 
     private void setUpValidContentHeadersAndJSONOnHttpRequest() {
-        when(request.getHeader("Content-Type")).thenReturn("application/vnd.att-dr.subscription; version=1.0");
-        when(request.getHeader("X-ATT-DR-ON-BEHALF-OF-GROUP")).thenReturn("stub_subjectGroup");
+        when(request.getHeader("Content-Type")).thenReturn("application/vnd.dmaap-dr.subscription; version=1.0");
+        when(request.getHeader("X-DMAAP-DR-ON-BEHALF-OF-GROUP")).thenReturn("stub_subjectGroup");
 
     }
-
-}
\ No newline at end of file
+}