Merge "Add Unit Tests for GroupServlet"
authorRam Koya <rk541m@att.com>
Mon, 20 Aug 2018 18:11:44 +0000 (18:11 +0000)
committerGerrit Code Review <gerrit@onap.org>
Mon, 20 Aug 2018 18:11:44 +0000 (18:11 +0000)
1  2 
datarouter-prov/src/test/java/org/onap/dmaap/datarouter/provisioning/FeedServletTest.java

@@@ -32,7 -32,6 +32,7 @@@ import org.onap.dmaap.datarouter.authz.
  import org.onap.dmaap.datarouter.authz.Authorizer;
  import org.onap.dmaap.datarouter.provisioning.beans.Feed;
  import org.onap.dmaap.datarouter.provisioning.beans.Updateable;
 +import org.onap.dmaap.datarouter.provisioning.utils.DB;
  import org.powermock.api.mockito.PowerMockito;
  import org.powermock.core.classloader.annotations.SuppressStaticInitializationFor;
  import org.powermock.modules.junit4.PowerMockRunner;
@@@ -42,7 -41,6 +42,7 @@@ import javax.servlet.ServletOutputStrea
  import javax.servlet.http.HttpServletRequest;
  import javax.servlet.http.HttpServletResponse;
  import java.util.HashSet;
 +import java.util.Properties;
  import java.util.Set;
  
  import static org.hamcrest.Matchers.notNullValue;
@@@ -53,7 -51,6 +53,7 @@@ import static org.onap.dmaap.datarouter
  @RunWith(PowerMockRunner.class)
  @SuppressStaticInitializationFor("org.onap.dmaap.datarouter.provisioning.beans.Feed")
  public class FeedServletTest {
 +
      private static FeedServlet feedServlet;
  
      @Mock
          feedServlet = new FeedServlet();
          setAuthoriserToReturnRequestIsAuthorized();
          setPokerToNotCreateTimersWhenDeleteFeedIsCalled();
-         setupValidAuthorisedRequest();
+         setUpValidAuthorisedRequest();
          setUpValidSecurityOnHttpRequest();
      }
  
      @Test
 -    public void Given_Request_Is_HTTP_DELETE_And_Is_Not_Secure_When_HTTPS_Is_Required_Then_Forbidden_Response_Is_Generated() throws Exception {
 +    public void Given_Request_Is_HTTP_DELETE_And_Is_Not_Secure_When_HTTPS_Is_Required_Then_Forbidden_Response_Is_Generated()
 +        throws Exception {
          when(request.isSecure()).thenReturn(false);
          feedServlet.doDelete(request, response);
          verify(response).sendError(eq(HttpServletResponse.SC_FORBIDDEN), argThat(notNullValue(String.class)));
@@@ -81,8 -77,7 +81,8 @@@
  
  
      @Test
 -    public void Given_Request_Is_HTTP_DELETE_And_BEHALF_HEADER_Is_Not_Set_In_Request_Then_Bad_Request_Response_Is_Generated() throws Exception {
 +    public void Given_Request_Is_HTTP_DELETE_And_BEHALF_HEADER_Is_Not_Set_In_Request_Then_Bad_Request_Response_Is_Generated()
 +        throws Exception {
          setBehalfHeader(null);
          feedServlet.doDelete(request, response);
          verify(response).sendError(eq(HttpServletResponse.SC_BAD_REQUEST), argThat(notNullValue(String.class)));
@@@ -90,8 -85,7 +90,8 @@@
  
  
      @Test
 -    public void Given_Request_Is_HTTP_DELETE_And_Path_Header_Is_Not_Set_In_Request_With_Valid_Path_Then_Bad_Request_Response_Is_Generated() throws Exception {
 +    public void Given_Request_Is_HTTP_DELETE_And_Path_Header_Is_Not_Set_In_Request_With_Valid_Path_Then_Bad_Request_Response_Is_Generated()
 +        throws Exception {
          when(request.getPathInfo()).thenReturn(null);
          feedServlet.doDelete(request, response);
          verify(response).sendError(eq(HttpServletResponse.SC_BAD_REQUEST), argThat(notNullValue(String.class)));
@@@ -99,8 -93,7 +99,8 @@@
  
  
      @Test
 -    public void Given_Request_Is_HTTP_DELETE_And_Feed_Id_Is_Invalid_Then_Not_Found_Response_Is_Generated() throws Exception {
 +    public void Given_Request_Is_HTTP_DELETE_And_Feed_Id_Is_Invalid_Then_Not_Found_Response_Is_Generated()
 +        throws Exception {
          setFeedToReturnInvalidFeedIdSupplied();
          feedServlet.doDelete(request, response);
          verify(response).sendError(eq(HttpServletResponse.SC_NOT_FOUND), argThat(notNullValue(String.class)));
  
  
      @Test
 -    public void Given_Request_Is_HTTP_DELETE_And_Request_Is_Not_Authorized_Then_Forbidden_Response_Is_Generated() throws Exception {
 +    public void Given_Request_Is_HTTP_DELETE_And_Request_Is_Not_Authorized_Then_Forbidden_Response_Is_Generated()
 +        throws Exception {
          setAuthoriserToReturnRequestNotAuthorized();
          feedServlet.doDelete(request, response);
          verify(response).sendError(eq(HttpServletResponse.SC_FORBIDDEN), argThat(notNullValue(String.class)));
  
  
      @Test
 -    public void Given_Request_Is_HTTP_DELETE_And_Delete_On_Database_Fails_An_Internal_Server_Error_Is_Reported() throws Exception {
 +    public void Given_Request_Is_HTTP_DELETE_And_Delete_On_Database_Fails_An_Internal_Server_Error_Is_Reported()
 +        throws Exception {
          FeedServlet feedServlet = new FeedServlet() {
              protected boolean doUpdate(Updateable bean) {
                  return false;
              }
          };
          feedServlet.doDelete(request, response);
 -        verify(response).sendError(eq(HttpServletResponse.SC_INTERNAL_SERVER_ERROR), argThat(notNullValue(String.class)));
 +        verify(response)
 +            .sendError(eq(HttpServletResponse.SC_INTERNAL_SERVER_ERROR), argThat(notNullValue(String.class)));
      }
  
  
      @Test
 -    public void Given_Request_Is_HTTP_DELETE_And_Delete_On_Database_Succeeds_A_NO_CONTENT_Response_Is_Generated() throws Exception {
 +    public void Given_Request_Is_HTTP_DELETE_And_Delete_On_Database_Succeeds_A_NO_CONTENT_Response_Is_Generated()
 +        throws Exception {
          FeedServlet feedServlet = new FeedServlet() {
              protected boolean doUpdate(Updateable bean) {
                  return true;
      }
  
      @Test
 -    public void Given_Request_Is_HTTP_GET_And_Is_Not_Secure_When_HTTPS_Is_Required_Then_Forbidden_Response_Is_Generated() throws Exception {
 +    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);
          feedServlet.doGet(request, response);
          verify(response).sendError(eq(HttpServletResponse.SC_FORBIDDEN), argThat(notNullValue(String.class)));
      }
  
      @Test
 -    public void Given_Request_Is_HTTP_GET_And_BEHALF_HEADER_Is_Not_Set_In_Request_Then_Bad_Request_Response_Is_Generated() throws Exception {
 +    public void Given_Request_Is_HTTP_GET_And_BEHALF_HEADER_Is_Not_Set_In_Request_Then_Bad_Request_Response_Is_Generated()
 +        throws Exception {
          setBehalfHeader(null);
          feedServlet.doGet(request, response);
          verify(response).sendError(eq(HttpServletResponse.SC_BAD_REQUEST), argThat(notNullValue(String.class)));
  
  
      @Test
 -    public void Given_Request_Is_HTTP_GET_And_Path_Header_Is_Not_Set_In_Request_With_Valid_Path_Then_Bad_Request_Response_Is_Generated() throws Exception {
 +    public void Given_Request_Is_HTTP_GET_And_Path_Header_Is_Not_Set_In_Request_With_Valid_Path_Then_Bad_Request_Response_Is_Generated()
 +        throws Exception {
          when(request.getPathInfo()).thenReturn(null);
          feedServlet.doGet(request, response);
          verify(response).sendError(eq(HttpServletResponse.SC_BAD_REQUEST), argThat(notNullValue(String.class)));
  
  
      @Test
 -    public void Given_Request_Is_HTTP_GET_And_Feed_Id_Is_Invalid_Then_Not_Found_Response_Is_Generated() throws Exception {
 +    public void Given_Request_Is_HTTP_GET_And_Feed_Id_Is_Invalid_Then_Not_Found_Response_Is_Generated()
 +        throws Exception {
          setFeedToReturnInvalidFeedIdSupplied();
          feedServlet.doGet(request, response);
          verify(response).sendError(eq(HttpServletResponse.SC_NOT_FOUND), argThat(notNullValue(String.class)));
  
  
      @Test
 -    public void Given_Request_Is_HTTP_GET_And_Request_Is_Not_Authorized_Then_Forbidden_Response_Is_Generated() throws Exception {
 +    public void Given_Request_Is_HTTP_GET_And_Request_Is_Not_Authorized_Then_Forbidden_Response_Is_Generated()
 +        throws Exception {
          setAuthoriserToReturnRequestNotAuthorized();
          feedServlet.doGet(request, response);
          verify(response).sendError(eq(HttpServletResponse.SC_FORBIDDEN), argThat(notNullValue(String.class)));
  
  
      @Test
 -    public void Given_Request_Is_HTTP_PUT_And_Is_Not_Secure_When_HTTPS_Is_Required_Then_Forbidden_Response_Is_Generated() throws Exception {
 +    public void Given_Request_Is_HTTP_PUT_And_Is_Not_Secure_When_HTTPS_Is_Required_Then_Forbidden_Response_Is_Generated()
 +        throws Exception {
          when(request.isSecure()).thenReturn(false);
          feedServlet.doPut(request, response);
          verify(response).sendError(eq(HttpServletResponse.SC_FORBIDDEN), argThat(notNullValue(String.class)));
      }
  
      @Test
 -    public void Given_Request_Is_HTTP_PUT_And_BEHALF_HEADER_Is_Not_Set_In_Request_Then_Bad_Request_Response_Is_Generated() throws Exception {
 +    public void Given_Request_Is_HTTP_PUT_And_BEHALF_HEADER_Is_Not_Set_In_Request_Then_Bad_Request_Response_Is_Generated()
 +        throws Exception {
          setBehalfHeader(null);
          feedServlet.doPut(request, response);
          verify(response).sendError(eq(HttpServletResponse.SC_BAD_REQUEST), argThat(notNullValue(String.class)));
  
  
      @Test
 -    public void Given_Request_Is_HTTP_PUT_And_Path_Header_Is_Not_Set_In_Request_With_Valid_Path_Then_Bad_Request_Response_Is_Generated() throws Exception {
 +    public void Given_Request_Is_HTTP_PUT_And_Path_Header_Is_Not_Set_In_Request_With_Valid_Path_Then_Bad_Request_Response_Is_Generated()
 +        throws Exception {
          when(request.getPathInfo()).thenReturn(null);
          feedServlet.doPut(request, response);
          verify(response).sendError(eq(HttpServletResponse.SC_BAD_REQUEST), argThat(notNullValue(String.class)));
  
  
      @Test
 -    public void Given_Request_Is_HTTP_PUT_And_Feed_Id_Is_Invalid_Then_Not_Found_Response_Is_Generated() throws Exception {
 +    public void Given_Request_Is_HTTP_PUT_And_Feed_Id_Is_Invalid_Then_Not_Found_Response_Is_Generated()
 +        throws Exception {
          setFeedToReturnInvalidFeedIdSupplied();
          feedServlet.doPut(request, response);
          verify(response).sendError(eq(HttpServletResponse.SC_NOT_FOUND), argThat(notNullValue(String.class)));
      }
  
      @Test
 -    public void Given_Request_Is_HTTP_PUT_And_Content_Header_Is_Not_Supported_Type_Then_Unsupported_Media_Type_Response_Is_Generated() throws Exception {
 +    public void Given_Request_Is_HTTP_PUT_And_Content_Header_Is_Not_Supported_Type_Then_Unsupported_Media_Type_Response_Is_Generated()
 +        throws Exception {
          when(request.getContentType()).thenReturn("stub_contentType");
          feedServlet.doPut(request, response);
 -        verify(response).sendError(eq(HttpServletResponse.SC_UNSUPPORTED_MEDIA_TYPE), argThat(notNullValue(String.class)));
 +        verify(response)
 +            .sendError(eq(HttpServletResponse.SC_UNSUPPORTED_MEDIA_TYPE), argThat(notNullValue(String.class)));
      }
  
      @Test
 -    public void Given_Request_Is_HTTP_PUT_And_Request_Contains_Badly_Formed_JSON_Then_Bad_Request_Response_Is_Generated() throws Exception {
 +    public void Given_Request_Is_HTTP_PUT_And_Request_Contains_Badly_Formed_JSON_Then_Bad_Request_Response_Is_Generated()
 +        throws Exception {
          when(request.getHeader("Content-Type")).thenReturn("application/vnd.att-dr.feed; version=1.0");
          ServletInputStream inStream = mock(ServletInputStream.class);
          when(request.getInputStream()).thenReturn(inStream);
      }
  
  
 -    private void initialiseBaseServletToBypassRetreiviingInitialisationParametersFromDatabase() throws IllegalAccessException {
 -        FieldUtils.writeDeclaredStaticField(BaseServlet.class, "startmsg_flag", false, true);
 +    private void initialiseBaseServletToBypassRetreiviingInitialisationParametersFromDatabase()
 +        throws IllegalAccessException {
 +        Properties props = new Properties();
 +        props.setProperty("org.onap.dmaap.datarouter.provserver.isaddressauthenabled", "false");
 +        FieldUtils.writeDeclaredStaticField(DB.class, "props", props, true);
 +        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);
          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, "require_cert", false, true);
 +        FieldUtils
 +            .writeDeclaredStaticField(BaseServlet.class, "authorizedAddressesAndNetworks", authAddressesAndNetworks,
 +                true);
 +        FieldUtils.writeDeclaredStaticField(BaseServlet.class, "requireCert", false, true);
      }
  
      private void setBehalfHeader(String headerValue) {
  
      private void setPokerToNotCreateTimersWhenDeleteFeedIsCalled() throws Exception {
          Poker poker = mock(Poker.class);
 -        FieldUtils.writeDeclaredStaticField(Poker.class, "p", poker, true);
 +        FieldUtils.writeDeclaredStaticField(Poker.class, "poker", poker, true);
      }
  
-     private void setupValidAuthorisedRequest() throws Exception {
+     private void setUpValidAuthorisedRequest() throws Exception {
          setUpValidSecurityOnHttpRequest();
          setBehalfHeader("Stub_Value");
          setValidPathInfoInHttpHeader();