diff options
Diffstat (limited to 'openecomp-be/lib/openecomp-item-permissions-lib/openecomp-item-permissions-core/src/test/java/org/openecomp/sdc/itempermissions/dao/impl/PermissionsServicesImplTest.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.java | 224 |
1 files changed, 135 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 |