aboutsummaryrefslogtreecommitdiffstats
path: root/openecomp-be/lib/openecomp-item-permissions-lib/openecomp-item-permissions-core/src/test/java
diff options
context:
space:
mode:
Diffstat (limited to 'openecomp-be/lib/openecomp-item-permissions-lib/openecomp-item-permissions-core/src/test/java')
-rw-r--r--openecomp-be/lib/openecomp-item-permissions-lib/openecomp-item-permissions-core/src/test/java/org/openecomp/sdc/itempermissions/dao/impl/PermissionsServicesImplTest.java224
-rw-r--r--openecomp-be/lib/openecomp-item-permissions-lib/openecomp-item-permissions-core/src/test/java/org/openecomp/sdc/itempermissions/servlet/PermissionsFilterTest.java90
2 files changed, 225 insertions, 89 deletions
diff --git a/openecomp-be/lib/openecomp-item-permissions-lib/openecomp-item-permissions-core/src/test/java/org/openecomp/sdc/itempermissions/dao/impl/PermissionsServicesImplTest.java b/openecomp-be/lib/openecomp-item-permissions-lib/openecomp-item-permissions-core/src/test/java/org/openecomp/sdc/itempermissions/dao/impl/PermissionsServicesImplTest.java
index 9574d4175a..0e27dcae4c 100644
--- a/openecomp-be/lib/openecomp-item-permissions-lib/openecomp-item-permissions-core/src/test/java/org/openecomp/sdc/itempermissions/dao/impl/PermissionsServicesImplTest.java
+++ b/openecomp-be/lib/openecomp-item-permissions-lib/openecomp-item-permissions-core/src/test/java/org/openecomp/sdc/itempermissions/dao/impl/PermissionsServicesImplTest.java
@@ -1,8 +1,21 @@
package org.openecomp.sdc.itempermissions.dao.impl;
+import static org.mockito.Matchers.anyObject;
+import static org.mockito.Matchers.anyString;
+import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashSet;
import java.util.Optional;
+import java.util.Set;
import org.mockito.InjectMocks;
import org.mockito.Mock;
+import org.mockito.Mockito;
import org.mockito.MockitoAnnotations;
import org.mockito.Spy;
import org.openecomp.sdc.common.session.SessionContextProviderFactory;
@@ -14,99 +27,132 @@ import org.testng.Assert;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.HashSet;
-import java.util.Set;
-
-import static org.mockito.Matchers.anyObject;
-import static org.mockito.Mockito.*;
-
/**
* Created by ayalaben on 7/9/2017
*/
public class PermissionsServicesImplTest {
- private static final String ITEM1_ID = "1";
- private static final String PERMISSION = "Owner";
- private static final String USER2_ID = "testUser2";
- private static final String USER1_ID = "testUser1";
- private static final String ACTION_SUBMIT = "Submit_Item";
- private static final String CHANGE_PERMISSIONS = "Change_Item_Permissions";
-
- static {
- SessionContextProviderFactory.getInstance().createInterface().create("testUser1", "dox");
- }
-
- @Mock
- private ItemPermissionsDao permissionsDaoMock;
- @Mock
- private UserPermissionsDao userPermissionsDao; // do not delete. needed for permissionService
- @Mock
- private PermissionsRules permissionsRules;
- @InjectMocks
- @Spy
- private PermissionsServicesImpl permissionsServices;
-
-
- @BeforeMethod
- public void setUp() throws Exception {
- MockitoAnnotations.initMocks(this);
- }
-
- @Test
- public void testListItemPermissionsWhenNone() {
- Collection<ItemPermissionsEntity> permissions =
- permissionsServices.listItemPermissions(ITEM1_ID);
- Assert.assertEquals(permissions.size(), 0);
- }
-
-
- @Test
- public void testListItemPermissions(){
- doReturn(Arrays.asList(
- createPermissionEntity(ITEM1_ID, USER1_ID, PERMISSION),
- createPermissionEntity(ITEM1_ID, USER2_ID, PERMISSION)))
- .when(permissionsDaoMock).listItemPermissions(anyObject());
-
- Collection<ItemPermissionsEntity> actual =
- permissionsServices.listItemPermissions(ITEM1_ID);
- Assert.assertEquals(actual.size(), 2);
- }
-
-
- @Test
- public void testIsAllowed(){
- when(permissionsDaoMock.getUserItemPermission(ITEM1_ID,USER1_ID)).thenReturn(Optional.of(PERMISSION));
- when(permissionsRules.isAllowed(PERMISSION,ACTION_SUBMIT)).thenReturn(true);
-
- Boolean result = permissionsServices.isAllowed(ITEM1_ID,USER1_ID,ACTION_SUBMIT);
-
- Assert.assertTrue(result);
-
- }
- @Test
- public void testUpdatePermissions(){
-
- Set<String> addedUsers = new HashSet<>();
- addedUsers.add(USER2_ID);
-
- permissionsServices.updateItemPermissions(ITEM1_ID,PERMISSION,addedUsers, new HashSet<>());
-
- verify(permissionsRules).executeAction(ITEM1_ID,USER1_ID,CHANGE_PERMISSIONS);
- verify(permissionsRules).updatePermission(ITEM1_ID,USER1_ID,PERMISSION,addedUsers, new HashSet<>());
- verify(permissionsDaoMock).updateItemPermissions(ITEM1_ID,PERMISSION,addedUsers,new
- HashSet<>());
- }
-
-
- public static ItemPermissionsEntity createPermissionEntity(String itemId, String
- userId, String permission) {
- ItemPermissionsEntity permissionsEntity = new ItemPermissionsEntity();
- permissionsEntity.setItemId(itemId);
- permissionsEntity.setUserId(userId);
- permissionsEntity.setPermission(permission);
- return permissionsEntity;
- }
+ private static final String ITEM1_ID = "1";
+ private static final String PERMISSION = "Owner";
+ private static final String USER2_ID = "testUser2";
+ private static final String USER1_ID = "testUser1";
+ private static final String ACTION_SUBMIT = "Submit_Item";
+ private static final String CHANGE_PERMISSIONS = "Change_Item_Permissions";
+
+ static {
+ SessionContextProviderFactory.getInstance().createInterface().create("testUser1", "dox");
+ }
+
+ @Mock
+ private ItemPermissionsDao permissionsDaoMock;
+ @Mock
+ private UserPermissionsDao userPermissionsDao; // do not delete. needed for permissionService
+ @Mock
+ private PermissionsRules permissionsRules;
+ @InjectMocks
+ @Spy
+ private PermissionsServicesImpl permissionsServices;
+
+
+ @BeforeMethod
+ public void setUp() {
+ MockitoAnnotations.initMocks(this);
+ }
+
+ @Test
+ public void testListUserPermittedItems() {
+ Set<String> userPermissionSet = Collections.emptySet();
+
+ Mockito.when(userPermissionsDao.listUserPermittedItems(anyString(), anyString())).thenReturn(userPermissionSet);
+
+ Set<String> permissionsSet = permissionsServices.listUserPermittedItems(USER1_ID, PERMISSION);
+
+ Assert.assertEquals(0, permissionsSet.size());
+ }
+
+ @Test
+ public void testExecute() {
+ Mockito.doNothing().when(permissionsRules).executeAction(anyString(), anyString(), anyString());
+
+ permissionsServices.execute(ITEM1_ID, USER1_ID, PERMISSION);
+
+ Mockito.verify(permissionsRules, times(1)).executeAction(anyString(), anyString(), anyString());
+ }
+
+ @Test
+ public void testDeleteItemPermissions() {
+ Mockito.doNothing().when(permissionsDaoMock).deleteItemPermissions(anyString());
+
+ permissionsServices.deleteItemPermissions(ITEM1_ID);
+
+ Mockito.verify(permissionsDaoMock, times(1)).deleteItemPermissions(anyString());
+ }
+
+ @Test
+ public void testGetUserItemPermission() {
+ Mockito.when(permissionsDaoMock.getUserItemPermission(anyString(), anyString()))
+ .thenReturn(Optional.of(PERMISSION));
+
+ Optional<String> permission = permissionsServices.getUserItemPermission(ITEM1_ID, USER1_ID);
+
+ Assert.assertTrue(permission.isPresent());
+ Assert.assertEquals(permission.get(), PERMISSION);
+ }
+
+ @Test
+ public void testListItemPermissionsWhenNone() {
+ Collection<ItemPermissionsEntity> permissions =
+ permissionsServices.listItemPermissions(ITEM1_ID);
+ Assert.assertEquals(permissions.size(), 0);
+ }
+
+
+ @Test
+ public void testListItemPermissions() {
+ doReturn(Arrays.asList(
+ createPermissionEntity(ITEM1_ID, USER1_ID, PERMISSION),
+ createPermissionEntity(ITEM1_ID, USER2_ID, PERMISSION)))
+ .when(permissionsDaoMock).listItemPermissions(anyObject());
+
+ Collection<ItemPermissionsEntity> actual =
+ permissionsServices.listItemPermissions(ITEM1_ID);
+ Assert.assertEquals(actual.size(), 2);
+ }
+
+
+ @Test
+ public void testIsAllowed() {
+ when(permissionsDaoMock.getUserItemPermission(ITEM1_ID, USER1_ID)).thenReturn(Optional.of(PERMISSION));
+ when(permissionsRules.isAllowed(PERMISSION, ACTION_SUBMIT)).thenReturn(true);
+
+ boolean result = permissionsServices.isAllowed(ITEM1_ID, USER1_ID, ACTION_SUBMIT);
+
+ Assert.assertTrue(result);
+
+ }
+
+ @Test
+ public void testUpdatePermissions() {
+
+ Set<String> addedUsers = new HashSet<>();
+ addedUsers.add(USER2_ID);
+
+ permissionsServices.updateItemPermissions(ITEM1_ID, PERMISSION, addedUsers, new HashSet<>());
+
+ verify(permissionsRules).executeAction(ITEM1_ID, USER1_ID, CHANGE_PERMISSIONS);
+ verify(permissionsRules).updatePermission(ITEM1_ID, USER1_ID, PERMISSION, addedUsers, new HashSet<>());
+ verify(permissionsDaoMock).updateItemPermissions(ITEM1_ID, PERMISSION, addedUsers, new
+ HashSet<>());
+ }
+
+
+ private static ItemPermissionsEntity createPermissionEntity(String itemId, String
+ userId, String permission) {
+ ItemPermissionsEntity permissionsEntity = new ItemPermissionsEntity();
+ permissionsEntity.setItemId(itemId);
+ permissionsEntity.setUserId(userId);
+ permissionsEntity.setPermission(permission);
+ return permissionsEntity;
+ }
} \ No newline at end of file
diff --git a/openecomp-be/lib/openecomp-item-permissions-lib/openecomp-item-permissions-core/src/test/java/org/openecomp/sdc/itempermissions/servlet/PermissionsFilterTest.java b/openecomp-be/lib/openecomp-item-permissions-lib/openecomp-item-permissions-core/src/test/java/org/openecomp/sdc/itempermissions/servlet/PermissionsFilterTest.java
new file mode 100644
index 0000000000..6bb51c30dd
--- /dev/null
+++ b/openecomp-be/lib/openecomp-item-permissions-lib/openecomp-item-permissions-core/src/test/java/org/openecomp/sdc/itempermissions/servlet/PermissionsFilterTest.java
@@ -0,0 +1,90 @@
+/*
+ *
+ * Copyright © 2017-2018 European Support Limited
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * /
+ *
+ */
+
+package org.openecomp.sdc.itempermissions.servlet;
+
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.PrintWriter;
+import javax.servlet.FilterChain;
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import javax.ws.rs.HttpMethod;
+import org.mockito.InjectMocks;
+import org.mockito.Mock;
+import org.mockito.Mockito;
+import org.mockito.MockitoAnnotations;
+import org.mockito.Spy;
+import org.openecomp.sdc.itempermissions.PermissionsServices;
+import org.testng.annotations.BeforeMethod;
+import org.testng.annotations.Test;
+
+public class PermissionsFilterTest {
+
+ @Mock
+ private PermissionsServices permissionsServicesMock;
+
+ @InjectMocks
+ @Spy
+ private PermissionsFilter permissionsFilter;
+
+ @BeforeMethod
+ public void setUp() {
+ MockitoAnnotations.initMocks(this);
+ }
+
+ @Test
+ public void testDoFilter() throws ServletException, IOException {
+ HttpServletRequest httpServletRequest = Mockito.spy(HttpServletRequest.class);
+ HttpServletResponse httpServletResponse = Mockito.spy(HttpServletResponse.class);
+ FilterChain filterChain = Mockito.mock(FilterChain.class);
+
+ initializeMocking(httpServletRequest, httpServletResponse, filterChain);
+ Mockito.when(httpServletRequest.getPathInfo()).thenReturn("onboardingci/onbrest/onboarding-api/v1.0");
+
+ permissionsFilter.doFilter(httpServletRequest, httpServletResponse, filterChain);
+
+ Mockito.verify(filterChain, Mockito.times(0)).doFilter(Mockito.any(), Mockito.any());
+ }
+
+ @Test
+ public void testDoFilterPass() throws ServletException, IOException {
+ HttpServletRequest httpServletRequest = Mockito.spy(HttpServletRequest.class);
+ HttpServletResponse httpServletResponse = Mockito.spy(HttpServletResponse.class);
+ FilterChain filterChain = Mockito.mock(FilterChain.class);
+
+ initializeMocking(httpServletRequest, httpServletResponse, filterChain);
+ Mockito.when(httpServletRequest.getPathInfo()).thenReturn("onboardingci/onbrest/onboarding-api");
+ permissionsFilter.doFilter(httpServletRequest, httpServletResponse, filterChain);
+
+ Mockito.verify(filterChain, Mockito.times(1)).doFilter(Mockito.any(), Mockito.any());
+ }
+
+ private void initializeMocking(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse,
+ FilterChain filterChain) throws ServletException, IOException {
+ PrintWriter printWriter = new PrintWriter(new ByteArrayOutputStream());
+ Mockito.when(httpServletRequest.getMethod()).thenReturn(HttpMethod.POST);
+ Mockito.when(httpServletRequest.getHeader("USER_ID")).thenReturn("cs0008");
+ Mockito.when(httpServletResponse.getWriter()).thenReturn(printWriter);
+ Mockito.doNothing().when(filterChain).doFilter(Mockito.any(), Mockito.any());
+ Mockito.when(permissionsServicesMock.isAllowed(
+ Mockito.anyString(), Mockito.anyString(), Mockito.anyString())).thenReturn(false);
+ }
+}