def test_getPrivilegesForPersonJSON(self): # Define prerequisite data. personKey = 3 organizationKey = 1 # Get the result of the tested method. jsonString = controller_privileges.getPrivilegesForPersonJSON(personKey, organizationKey) # Validate the result. self.assertIsNotNone(jsonString) self.assertTrue(len(jsonString) > 0) dict = json.loads(jsonString) personKeyInOutput = False orgKeyInOutput = False privCount = 0 for key1,value1 in dict.iteritems(): if key1 == models.EMPLOYEE_ENTITYFK_KEY: self.assertEqual(value1, personKey) personKeyInOutput = True elif key1 == models.ORGANIZATION_ENTITYFK_KEY: self.assertEqual(value1, organizationKey) orgKeyInOutput = True elif key1 == 'PersonPrivileges': for dictPrivilege in value1: privilege = controller_privileges.extractPrivilegeFromDict(dictPrivilege) privCount += 1 self.assertTrue(privilege.pk is 5 or privilege.pk is 6) self.assertTrue(privilege.privilege == 'VIEW_ALL_EMPLOYEES_IN_ORG' or privilege.privilege == 'ASSIGN_EMPS_TO_SHIFTS') self.assertEqual(privCount, 2) self.assertTrue(personKeyInOutput) self.assertTrue(orgKeyInOutput)
def test_extractPrivilegeFromDict(self): control = models.Privilege.query.filter_by(pk=4).first() stringJSON = '{"privilege_pk":4,"privilege":"VIEW_ALL_ORGANIZATIONS"}' data = json.loads(stringJSON) target = controller_privileges.extractPrivilegeFromDict(data) self.assertEqual(control.pk, target.pk) self.assertEqual(control.privilege, target.privilege) self.assertEqual(control.__repr__(), target.__repr__())
def test_getAllPrivilegesJSON(self): jsonString = controller_privileges.getAllPrivilegesJSON() self.assertIsNotNone(jsonString) self.assertTrue(len(jsonString) > 0) dict = json.loads(jsonString) privCount = 0 for key1,value1 in dict.iteritems(): if key1 == 'Privileges': for dictPrivilege in value1: privilege = controller_privileges.extractPrivilegeFromDict(dictPrivilege) privCount += 1 self.assertTrue(privilege.pk >= 1 or privilege.pk <= 8) self.assertTrue(privilege.privilege == 'ASSIGN_EMPS_TO_SHIFTS' or privilege.privilege == 'DELETE_ORGANIZATION' or privilege.privilege == 'MODIFY_ORGANIZATION' or privilege.privilege == 'REGISTER_NEW_ORGANIZATION' or privilege.privilege == 'SOME_OTHER_EMP_PRIVILEGE' or privilege.privilege == 'VIEW_ALL_EMPLOYEES_IN_ORG' or privilege.privilege == 'VIEW_ALL_ORGANIZATIONS' or privilege.privilege == 'YET_ANOTHER_EMP_PRIVILEGE') self.assertEqual(privCount, 8)
def test_getGlobalPrivilegesForPersonJSON(self): # Define prerequisite data. personKey = 3 # Get the result of the tested method. jsonString = controller_privileges.getGlobalPrivilegesForPersonJSON(personKey) # Validate the result. self.assertIsNotNone(jsonString) self.assertTrue(len(jsonString) > 0) dict = json.loads(jsonString) personKeyInOutput = False for key1,value1 in dict.iteritems(): if key1 == models.EMPLOYEE_ENTITYFK_KEY: self.assertEqual(value1, personKey) personKeyInOutput = True elif key1 == 'GlobalPrivileges': privCount = 0 for dictPrivilege in value1: privilege = controller_privileges.extractPrivilegeFromDict(dictPrivilege) privCount += 1 self.assertTrue(privilege.pk is 1 or privilege.pk is 4) self.assertTrue(privilege.privilege == 'REGISTER_NEW_ORGANIZATION' or privilege.privilege == 'VIEW_ALL_ORGANIZATIONS') self.assertEqual(privCount, 2) self.assertTrue(personKeyInOutput)