Add collaboration feature
[sdc.git] / openecomp-be / lib / openecomp-item-permissions-lib / openecomp-item-permissions-impl / src / test / java / org / openecomp / sdc / itempermissions / impl / PermissionsRulesImplTest.java
1 package org.openecomp.sdc.itempermissions.impl;
2
3 import org.mockito.InjectMocks;
4 import org.mockito.Mock;
5 import org.mockito.MockitoAnnotations;
6 import org.mockito.Spy;
7 import org.openecomp.sdc.common.errors.CoreException;
8 import org.openecomp.sdc.itempermissions.dao.impl.PermissionsServicesImpl;
9 import org.testng.Assert;
10 import org.testng.annotations.BeforeMethod;
11 import org.testng.annotations.Test;
12
13 import java.util.HashSet;
14
15
16 /**
17  * Created by ayalaben on 7/10/2017
18  */
19 public class PermissionsRulesImplTest {
20
21   private static final String ITEM1_ID = "1";
22   private static final String USER1_ID = "testUser1";
23   private static final String PERMISSION_OWNER = "Owner";
24   private static final String PERMISSION_CONTRIBUTOR = "Contributor";
25   private static final String INVALID_PERMISSION = "Invalid_Permission";
26   private static final String SUBMIT_ACTION = "Submit_Item";
27   private static final String EDIT_ACTION = "Edit_Item";
28   private static final String CHANGE_PERMISSIONS_ACTION = "Change_Item_Permissions";
29   private static final String INVALID_ACTION = "Invalid_Action";
30
31   @Mock
32   private PermissionsServicesImpl permissionsServices;
33
34   @InjectMocks
35   @Spy
36   private PermissionsRulesImpl permissionsRules;
37
38
39   @BeforeMethod
40   public void setUp() throws Exception {
41
42     MockitoAnnotations.initMocks(this);
43   }
44
45   @Test(expectedExceptions = CoreException.class,expectedExceptionsMessageRegExp =
46       "Invalid permission type")
47   public void testIsAllowedWhenInvalidPermission() {
48       permissionsRules.isAllowed(INVALID_PERMISSION, EDIT_ACTION);
49     }
50
51   @Test(expectedExceptions = CoreException.class,expectedExceptionsMessageRegExp =
52       "Invalid action type")
53   public void testIsAllowedWhenInvalidAction() {
54     permissionsRules.isAllowed(PERMISSION_CONTRIBUTOR, INVALID_ACTION);
55   }
56
57   @Test
58   public void testIsAllowedCaseSubmitOwner(){
59     Assert.assertTrue(permissionsRules.isAllowed(PERMISSION_OWNER,SUBMIT_ACTION));
60   }
61
62   @Test
63   public void testIsAllowedCaseSubmitNotOwner(){
64     Assert.assertFalse(permissionsRules.isAllowed(PERMISSION_CONTRIBUTOR,SUBMIT_ACTION));
65   }
66
67   @Test
68   public void testIsAllowedCaseEditOwner(){
69     Assert.assertTrue(permissionsRules.isAllowed(PERMISSION_OWNER,EDIT_ACTION));
70   }
71
72   @Test
73   public void testIsAllowedCaseEditContributer(){
74     Assert.assertTrue(permissionsRules.isAllowed(PERMISSION_CONTRIBUTOR,EDIT_ACTION));
75   }
76
77   @Test
78   public void testIsAllowedCaseChangePermissionsContributer(){
79     Assert.assertFalse(permissionsRules.isAllowed(PERMISSION_CONTRIBUTOR,CHANGE_PERMISSIONS_ACTION));
80   }
81
82   @Test
83   public void testIsAllowedCaseChangePermissionsOwner(){
84     Assert.assertTrue(permissionsRules.isAllowed(PERMISSION_OWNER,CHANGE_PERMISSIONS_ACTION));
85   }
86
87   @Test(expectedExceptions = CoreException.class,expectedExceptionsMessageRegExp =
88       "Invalid permission type")
89   public void testUpdatePermissionWhenInvalidPermission()  {
90     permissionsRules.updatePermission(ITEM1_ID,USER1_ID,INVALID_PERMISSION,new HashSet<String>(),
91         new HashSet<String>());
92   }
93
94   @Test(expectedExceptions = CoreException.class,expectedExceptionsMessageRegExp =
95       "Invalid action type")
96   public void testExecuteActionInvalidAction(){
97     permissionsRules.executeAction(ITEM1_ID,USER1_ID,INVALID_ACTION);
98   }
99
100
101 }