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;fp=datarouter-prov%2Fsrc%2Ftest%2Fjava%2Forg%2Fonap%2Fdmaap%2Fdatarouter%2Fprovisioning%2FBaseServletTest.java;h=61d030d9fae64e12b1183dfa6f57ac17631f6e24;hb=db2d9611400720a26bb62616788b800913924f2b;hp=757852aad5f51734800c1525b6b7cd3f5d465e9a;hpb=118900e50d71a3db8bd6e304151cc7c20b4fbda9;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 757852aa..61d030d9 --- 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 @@ -28,18 +28,27 @@ 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 java.util.HashSet; import java.util.Set; - import static org.hamcrest.Matchers.is; import static org.hamcrest.Matchers.nullValue; 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) +@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; @@ -69,14 +78,118 @@ public class BaseServletTest extends DrServletTestBase { } @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, "requireCert", false, true); - assertThat(baseServlet.isAuthorizedForProvisioning(request), is(nullValue())); + FieldUtils.writeDeclaredStaticField(BaseServlet.class, "authorizedAddressesAndNetworks", authAddressesAndNetworks, true); + FieldUtils.writeDeclaredStaticField(BaseServlet.class, "requireCert", true, true); + assertThat(baseServlet.isAuthorizedForProvisioning(request), is("Client certificate is missing.")); + } + + @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())); } }