def test_usercommunityprivilege_get_current_record(self): george = self.george rebels = self.rebels alva = self.alva UserCommunityProvenance.update( community=rebels, user=alva, privilege=PrivilegeCodes.CHANGE, grantor=george) record = UserCommunityProvenance.get_current_record( community=rebels, user=alva) self.assertEqual(record.grantor, george) self.assertEqual(record.community, rebels) self.assertEqual(record.user, alva)
def test_usercommunityprivilege_get_undo_users(self): george = self.george rebels = self.rebels alva = self.alva UserCommunityProvenance.update( community=rebels, user=alva, privilege=PrivilegeCodes.CHANGE, grantor=george) self.assertTrue( is_equal_to_as_set( UserCommunityProvenance.get_undo_users( community=rebels, grantor=george), [alva, george]))
def test_usercommunityprivilege_update(self): george = self.george rebels = self.rebels alva = self.alva self.assertEqual( UserCommunityProvenance.get_privilege( community=rebels, user=alva), PrivilegeCodes.NONE) UserCommunityProvenance.update( community=rebels, user=alva, privilege=PrivilegeCodes.CHANGE, grantor=george) self.assertEqual( UserCommunityProvenance.get_privilege( community=rebels, user=alva), PrivilegeCodes.CHANGE)
def test_usercommunityprivilege_undo_share(self): george = self.george rebels = self.rebels alva = self.alva self.assertEqual( UserCommunityProvenance.get_privilege( community=rebels, user=alva), PrivilegeCodes.NONE) UserCommunityProvenance.update( community=rebels, user=alva, privilege=PrivilegeCodes.CHANGE, grantor=george) self.assertEqual( UserCommunityProvenance.get_privilege( community=rebels, user=alva), PrivilegeCodes.CHANGE) UserCommunityProvenance.update( community=rebels, user=alva, privilege=PrivilegeCodes.NONE, grantor=george) self.assertEqual( UserCommunityProvenance.get_privilege( community=rebels, user=alva), PrivilegeCodes.NONE) UserCommunityProvenance.update( community=rebels, user=alva, privilege=PrivilegeCodes.VIEW, grantor=george) self.assertEqual( UserCommunityProvenance.get_privilege( community=rebels, user=alva), PrivilegeCodes.VIEW) UserCommunityProvenance.undo_share(community=rebels, user=alva, grantor=george) self.assertEqual( UserCommunityProvenance.get_privilege( community=rebels, user=alva), PrivilegeCodes.NONE) # no further undo is possible. with self.assertRaises(PermissionDenied): UserCommunityProvenance.undo_share(community=rebels, user=alva, grantor=george) with self.assertRaises(PermissionDenied): UserCommunityProvenance.undo_share(community=rebels, user=alva, grantor=george) UserCommunityProvenance.update( community=rebels, user=alva, privilege=PrivilegeCodes.VIEW, grantor=george) self.assertEqual( UserCommunityProvenance.get_privilege( community=rebels, user=alva), PrivilegeCodes.VIEW) UserCommunityProvenance.update( community=rebels, user=alva, privilege=PrivilegeCodes.CHANGE, grantor=george) self.assertEqual( UserCommunityProvenance.get_privilege( community=rebels, user=alva), PrivilegeCodes.CHANGE) UserCommunityProvenance.undo_share(community=rebels, user=alva, grantor=george) self.assertEqual( UserCommunityProvenance.get_privilege( community=rebels, user=alva), PrivilegeCodes.VIEW) UserCommunityProvenance.update( community=rebels, user=alva, privilege=PrivilegeCodes.NONE, grantor=george) self.assertEqual( UserCommunityProvenance.get_privilege( community=rebels, user=alva), PrivilegeCodes.NONE) UserCommunityProvenance.update( community=rebels, user=alva, privilege=PrivilegeCodes.CHANGE, grantor=george) self.assertEqual( UserCommunityProvenance.get_privilege( community=rebels, user=alva), PrivilegeCodes.CHANGE)