+
+ @Test
+ public void Given_Request_Is_GetSubscriptionOwner_And_Subscription_Exists() {
+ 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() {
+ 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() {
+ 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() {
+ 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() {
+ 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() {
+ 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()));
+ }
+
+ @Test
+ public void Given_Request_Has_Empty_RequestId_And_InvocationId_Headers_Generate_MDC_Values() {
+ when(request.getHeader("X-ONAP-RequestID")).thenReturn("");
+ when(request.getHeader("X-InvocationID")).thenReturn("");
+ mockStatic(UUID.class);
+ when(UUID.randomUUID().toString()).thenReturn("123", "456");
+ baseServlet.setIpFqdnRequestIDandInvocationIDForEelf("doDelete", request);
+ Assert.assertNotEquals("123", MDC.get("RequestId"));
+ Assert.assertNotEquals("456", MDC.get("InvocationId"));
+ }
+
+ @Test
+ public void Given_Request_Has_RequestId_And_InvocationId_Headers_Set_MDC_Values() {
+ when(request.getHeader("X-ONAP-RequestID")).thenReturn("123");
+ when(request.getHeader("X-InvocationID")).thenReturn("456");
+ baseServlet.setIpFqdnRequestIDandInvocationIDForEelf("doDelete", request);
+ Assert.assertEquals("123", MDC.get("RequestId"));
+ Assert.assertEquals("456", MDC.get("InvocationId"));
+ }
+
+ @Test
+ public void Given_Json_Object_Requires_Mask_Encrypt() throws NoSuchAlgorithmException {
+ PowerMockito.mockStatic(SecretKeyFactory.class);
+ SecretKeyFactory secretKeyFactory = PowerMockito.mock(SecretKeyFactory.class);
+ PowerMockito.when(SecretKeyFactory.getInstance(Mockito.anyString())).thenReturn(secretKeyFactory);
+ BaseServlet.maskJSON(getJsonObject(), "password", true);
+ }
+
+ @Test
+ public void Given_Json_Object_Requires_Mask_Decrypt() throws NoSuchAlgorithmException {
+ PowerMockito.mockStatic(SecretKeyFactory.class);
+ SecretKeyFactory secretKeyFactory = PowerMockito.mock(SecretKeyFactory.class);
+ PowerMockito.when(SecretKeyFactory.getInstance(Mockito.anyString())).thenReturn(secretKeyFactory);
+ BaseServlet.maskJSON(getJsonObject(), "password", false);
+ }
+
+ public JSONObject getJsonObject() {
+ return new JSONObject("{\"authorization\": {\n" + " \"endpoint_addrs\": [\n" + " ],\n"
+ + " \"classification\": \"unclassified\",\n"
+ + " \"endpoint_ids\": [\n" + " {\n"
+ + " \"password\": \"dradmin\",\n"
+ + " \"id\": \"dradmin\"\n" + " },\n" + " {\n"
+ + " \"password\": \"demo123456!\",\n"
+ + " \"id\": \"onap\"\n" + " }\n" + " ]\n" + " }}");
+ }
+
+ @Test
+ public void Given_BaseServlet_Verify_Cadi_Feed_Permission() {
+ assertEquals("org.onap.dmaap-dr.feed|legacy|publish", baseServlet.getFeedPermission("legacy", "publish"));
+ assertEquals("org.onap.dmaap-dr.feed|legacy|suspend", baseServlet.getFeedPermission("legacy", "suspend"));
+ assertEquals("org.onap.dmaap-dr.feed|legacy|restore", baseServlet.getFeedPermission("legacy", "restore"));
+ assertEquals("org.onap.dmaap-dr.feed|org.onap.dmaap-dr.NoInstanceDefined|restore", baseServlet.getFeedPermission(null, "restore"));
+ assertEquals("org.onap.dmaap-dr.feed|legacy|*", baseServlet.getFeedPermission("legacy", "default"));
+ }
+
+ @Test
+ public void Given_BaseServlet_Verify_Cadi_Sub_Permission() {
+ assertEquals("org.onap.dmaap-dr.feed|legacy|subscribe", baseServlet.getSubscriberPermission("legacy", "subscribe"));
+ assertEquals("org.onap.dmaap-dr.sub|legacy|suspend", baseServlet.getSubscriberPermission("legacy", "suspend"));
+ assertEquals("org.onap.dmaap-dr.sub|legacy|restore", baseServlet.getSubscriberPermission("legacy", "restore"));
+ assertEquals("org.onap.dmaap-dr.sub|legacy|publish", baseServlet.getSubscriberPermission("legacy", "publish"));
+ assertEquals("org.onap.dmaap-dr.sub|org.onap.dmaap-dr.NoInstanceDefined|restore", baseServlet.getSubscriberPermission(null, "restore"));
+ assertEquals("org.onap.dmaap-dr.sub|legacy|*", baseServlet.getSubscriberPermission("legacy", "default"));
+ }
+