X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=datarouter-prov%2Fsrc%2Ftest%2Fjava%2Forg%2Fonap%2Fdmaap%2Fdatarouter%2Fprovisioning%2FBaseServletTest.java;h=8cc48683ddfed931c93ace52a6ee60838a0bbea1;hb=3429ec4ff1d54d1f477e835937b7ca16a7951740;hp=5966b775a32a26022a95deff3b9569efc657e108;hpb=8cbe8a88bc6dfe8673a33a017fe6a5a3e7ce86c3;p=dmaap%2Fdatarouter.git diff --git a/datarouter-prov/src/test/java/org/onap/dmaap/datarouter/provisioning/BaseServletTest.java b/datarouter-prov/src/test/java/org/onap/dmaap/datarouter/provisioning/BaseServletTest.java old mode 100644 new mode 100755 index 5966b775..8cc48683 --- a/datarouter-prov/src/test/java/org/onap/dmaap/datarouter/provisioning/BaseServletTest.java +++ b/datarouter-prov/src/test/java/org/onap/dmaap/datarouter/provisioning/BaseServletTest.java @@ -24,26 +24,34 @@ package org.onap.dmaap.datarouter.provisioning; import org.apache.commons.lang3.reflect.FieldUtils; -import org.apache.log4j.Logger; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; -import org.mockito.runners.MockitoJUnitRunner; - +import org.onap.dmaap.datarouter.provisioning.beans.Feed; +import org.onap.dmaap.datarouter.provisioning.beans.FeedAuthorization; +import org.onap.dmaap.datarouter.provisioning.beans.Group; +import org.onap.dmaap.datarouter.provisioning.beans.Subscription; +import org.powermock.api.mockito.PowerMockito; +import org.powermock.core.classloader.annotations.SuppressStaticInitializationFor; +import org.powermock.modules.junit4.PowerMockRunner; import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; import java.util.HashSet; import java.util.Set; - import static org.hamcrest.Matchers.is; import static org.hamcrest.Matchers.nullValue; +import static org.junit.Assert.assertNull; import static org.junit.Assert.assertThat; +import static org.mockito.Matchers.anyInt; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; -@RunWith(MockitoJUnitRunner.class) -public class BaseServletTest { +@RunWith(PowerMockRunner.class) +@SuppressStaticInitializationFor({"org.onap.dmaap.datarouter.provisioning.beans.Feed", + "org.onap.dmaap.datarouter.provisioning.beans.Subscription", + "org.onap.dmaap.datarouter.provisioning.beans.Group"}) +public class BaseServletTest extends DrServletTestBase { + private BaseServlet baseServlet; @Mock @@ -51,20 +59,19 @@ public class BaseServletTest { @Before public void setUp() throws Exception { - FieldUtils.writeDeclaredStaticField(BaseServlet.class, "startmsg_flag", false, true); - SynchronizerTask synchronizerTask = mock(SynchronizerTask.class); - FieldUtils.writeDeclaredStaticField(BaseServlet.class, "synctask", synchronizerTask, true); + super.setUp(); baseServlet = new BaseServlet(); } @Test - public void Given_Request_Path_Info_Is_Valid_Then_Id_Is_Extracted_Correctly() throws Exception { + public void Given_Request_Path_Info_Is_Valid_Then_Id_Is_Extracted_Correctly() { when(request.getPathInfo()).thenReturn("/123"); assertThat(baseServlet.getIdFromPath(request), is(123)); } + @Test - public void Given_Request_Path_Info_Is_Not_Valid_Then_Minus_One_Is_Returned() throws Exception { + public void Given_Request_Path_Info_Is_Not_Valid_Then_Minus_One_Is_Returned() { when(request.getPathInfo()).thenReturn("/abc"); assertThat(baseServlet.getIdFromPath(request), is(-1)); when(request.getPathInfo()).thenReturn("/"); @@ -72,12 +79,118 @@ public class BaseServletTest { } @Test - public void Given_Request_Path_Info_Is_Not_Valid_Then_Minus_One_Is() throws Exception { + public void Given_Remote_Address_Is_Known_And_RequireCerts_Is_True() throws Exception { when(request.isSecure()).thenReturn(true); Set authAddressesAndNetworks = new HashSet(); authAddressesAndNetworks.add(("127.0.0.1")); FieldUtils.writeDeclaredStaticField(BaseServlet.class, "authorizedAddressesAndNetworks", authAddressesAndNetworks, true); - FieldUtils.writeDeclaredStaticField(BaseServlet.class, "require_cert", false, true); - assertThat(baseServlet.isAuthorizedForProvisioning(request), is(nullValue())); + FieldUtils.writeDeclaredStaticField(BaseServlet.class, "requireCert", true, true); + assertNull(baseServlet.isAuthorizedForProvisioning(request)); + } + + @Test + public void Given_Request_Is_GetFeedOwner_And_Feed_Exists() throws Exception { + PowerMockito.mockStatic(Feed.class); + Feed feed = mock(Feed.class); + PowerMockito.when(Feed.getFeedById(anyInt())).thenReturn(feed); + when(feed.getPublisher()).thenReturn("stub_publisher"); + assertThat(baseServlet.getFeedOwner("3"), is("stub_publisher")); + } + + @Test + public void Given_Request_Is_GetFeedOwner_And_Feed_Does_Not_Exist() throws Exception { + PowerMockito.mockStatic(Feed.class); + PowerMockito.when(Feed.getFeedById(anyInt())).thenReturn(null); + assertThat(baseServlet.getFeedOwner("3"), is(nullValue())); + } + + @Test + public void Given_Request_Is_GetFeedClassification_And_Feed_Exists() throws Exception { + PowerMockito.mockStatic(Feed.class); + Feed feed = mock(Feed.class); + PowerMockito.when(Feed.getFeedById(anyInt())).thenReturn(feed); + FeedAuthorization fAuth = mock(FeedAuthorization.class); + when(feed.getAuthorization()).thenReturn(fAuth); + when(fAuth.getClassification()).thenReturn("stub_classification"); + assertThat(baseServlet.getFeedClassification("3"), is("stub_classification")); + } + + @Test + public void Given_Request_Is_GetFeedClassification_And_Feed_Does_Not_Exist() throws Exception { + PowerMockito.mockStatic(Feed.class); + PowerMockito.when(Feed.getFeedById(anyInt())).thenReturn(null); + assertThat(baseServlet.getFeedClassification("3"), is(nullValue())); + } + + @Test + public void Given_Request_Is_GetSubscriptionOwner_And_Subscription_Exists() throws Exception { + PowerMockito.mockStatic(Subscription.class); + Subscription subscription = mock(Subscription.class); + PowerMockito.when(Subscription.getSubscriptionById(anyInt())).thenReturn(subscription); + when(subscription.getSubscriber()).thenReturn("stub_subscriber"); + assertThat(baseServlet.getSubscriptionOwner("3"), is("stub_subscriber")); + } + + @Test + public void Given_Request_Is_GetSubscriptionOwner_And_Subscription_Does_Not_Exist() throws Exception { + PowerMockito.mockStatic(Subscription.class); + PowerMockito.when(Subscription.getSubscriptionById(anyInt())).thenReturn(null); + assertThat(baseServlet.getSubscriptionOwner("3"), is(nullValue())); + } + + @Test + public void Given_Request_Is_GetGroupByFeedGroupId_And_User_Is_A_Member_Of_Group() throws Exception { + PowerMockito.mockStatic(Feed.class); + Feed feed = mock(Feed.class); + PowerMockito.when(Feed.getFeedById(anyInt())).thenReturn(feed); + when(feed.getGroupid()).thenReturn(3); + PowerMockito.mockStatic(Group.class); + Group group = mock(Group.class); + when(group.getMembers()).thenReturn("{id: stub_user}"); + PowerMockito.when(Group.getGroupById(anyInt())).thenReturn(group); + when(group.getAuthid()).thenReturn("stub_authID"); + assertThat(baseServlet.getGroupByFeedGroupId("stub_user", "3"), is("stub_authID")); + } + + @Test + public void Given_Request_Is_GetGroupByFeedGroupId_And_User_Is_Not_A_Member_Of_Group() throws Exception { + PowerMockito.mockStatic(Feed.class); + Feed feed = mock(Feed.class); + PowerMockito.when(Feed.getFeedById(anyInt())).thenReturn(feed); + when(feed.getGroupid()).thenReturn(3); + PowerMockito.mockStatic(Group.class); + Group group = mock(Group.class); + when(group.getMembers()).thenReturn("{id: stub_otherUser}"); + PowerMockito.when(Group.getGroupById(anyInt())).thenReturn(group); + when(group.getAuthid()).thenReturn("stub_authID"); + assertThat(baseServlet.getGroupByFeedGroupId("stub_user", "3"), is(nullValue())); + } + + @Test + public void Given_Request_Is_GetGroupBySubGroupId_And_User_Is_A_Member_Of_Group() throws Exception { + PowerMockito.mockStatic(Subscription.class); + Subscription subscription = mock(Subscription.class); + PowerMockito.when(Subscription.getSubscriptionById(anyInt())).thenReturn(subscription); + when(subscription.getGroupid()).thenReturn(3); + PowerMockito.mockStatic(Group.class); + Group group = mock(Group.class); + when(group.getMembers()).thenReturn("{id: stub_user}"); + PowerMockito.when(Group.getGroupById(anyInt())).thenReturn(group); + when(group.getAuthid()).thenReturn("stub_authID"); + assertThat(baseServlet.getGroupBySubGroupId("stub_user", "3"), is("stub_authID")); + } + + @Test + public void Given_Request_Is_GetGroupBySubGroupId_And_User_Is_Not_A_Member_Of_Group() throws Exception { + PowerMockito.mockStatic(Subscription.class); + Subscription subscription = mock(Subscription.class); + PowerMockito.when(Subscription.getSubscriptionById(anyInt())).thenReturn(subscription); + when(subscription.getGroupid()).thenReturn(3); + PowerMockito.mockStatic(Group.class); + Group group = mock(Group.class); + when(group.getMembers()).thenReturn("{id: stub_otherUser}"); + PowerMockito.when(Group.getGroupById(anyInt())).thenReturn(group); + when(group.getAuthid()).thenReturn("stub_authID"); + assertThat(baseServlet.getGroupBySubGroupId("stub_user", "3"), is(nullValue())); } }