def test_groupresourceprivilege_get_undo_groups(self): george = self.george bikes = self.bikes bikers = self.bikers GroupResourceProvenance.update(resource=bikes, group=bikers, privilege=PrivilegeCodes.CHANGE, grantor=george) self.assertTrue( is_equal_to_as_set( GroupResourceProvenance.get_undo_groups(resource=bikes, grantor=george), [bikers]))
def test_groupresourceprivilege_get_current_record(self): george = self.george bikes = self.bikes bikers = self.bikers GroupResourceProvenance.update(resource=bikes, group=bikers, privilege=PrivilegeCodes.CHANGE, grantor=george) record = GroupResourceProvenance.get_current_record(resource=bikes, group=bikers) self.assertEqual(record.grantor, george) self.assertEqual(record.resource, bikes) self.assertEqual(record.group, bikers)
def test_groupresourceprivilege_get_current_record(self): george = self.george bikes = self.bikes bikers = self.bikers GroupResourceProvenance.update( resource=bikes, group=bikers, privilege=PrivilegeCodes.CHANGE, grantor=george) record = GroupResourceProvenance.get_current_record( resource=bikes, group=bikers) self.assertEqual(record.grantor, george) self.assertEqual(record.resource, bikes) self.assertEqual(record.group, bikers)
def test_groupresourceprivilege_get_undo_groups(self): george = self.george bikes = self.bikes bikers = self.bikers GroupResourceProvenance.update( resource=bikes, group=bikers, privilege=PrivilegeCodes.CHANGE, grantor=george) self.assertTrue( is_equal_to_as_set( GroupResourceProvenance.get_undo_groups( resource=bikes, grantor=george), [bikers]))
def test_groupresourceprivilege_get_privilege(self): george = self.george bikes = self.bikes bikers = self.bikers self.assertEqual( GroupResourceProvenance.get_privilege(resource=bikes, group=bikers), PrivilegeCodes.NONE) GroupResourceProvenance.update(resource=bikes, group=bikers, privilege=PrivilegeCodes.CHANGE, grantor=george) self.assertEqual( GroupResourceProvenance.get_privilege(resource=bikes, group=bikers), PrivilegeCodes.CHANGE)
def test_groupresourceprivilege_get_privilege(self): george = self.george bikes = self.bikes bikers = self.bikers self.assertEqual( GroupResourceProvenance.get_privilege( resource=bikes, group=bikers), PrivilegeCodes.NONE) GroupResourceProvenance.update( resource=bikes, group=bikers, privilege=PrivilegeCodes.CHANGE, grantor=george) self.assertEqual( GroupResourceProvenance.get_privilege( resource=bikes, group=bikers), PrivilegeCodes.CHANGE)
def test_groupresourceprivilege_undo_share(self): george = self.george bikes = self.bikes bikers = self.bikers self.assertEqual( GroupResourceProvenance.get_privilege(resource=bikes, group=bikers), PrivilegeCodes.NONE) GroupResourceProvenance.update(resource=bikes, group=bikers, privilege=PrivilegeCodes.CHANGE, grantor=george) self.assertEqual( GroupResourceProvenance.get_privilege(resource=bikes, group=bikers), PrivilegeCodes.CHANGE) GroupResourceProvenance.update(resource=bikes, group=bikers, privilege=PrivilegeCodes.NONE, grantor=george) self.assertEqual( GroupResourceProvenance.get_privilege(resource=bikes, group=bikers), PrivilegeCodes.NONE) GroupResourceProvenance.update(resource=bikes, group=bikers, privilege=PrivilegeCodes.VIEW, grantor=george) self.assertEqual( GroupResourceProvenance.get_privilege(resource=bikes, group=bikers), PrivilegeCodes.VIEW) GroupResourceProvenance.undo_share(resource=bikes, group=bikers, grantor=george) self.assertEqual( GroupResourceProvenance.get_privilege(resource=bikes, group=bikers), PrivilegeCodes.NONE) # further undos are prohibited with self.assertRaises(PermissionDenied): GroupResourceProvenance.undo_share(resource=bikes, group=bikers, grantor=george) with self.assertRaises(PermissionDenied): GroupResourceProvenance.undo_share(resource=bikes, group=bikers, grantor=george) GroupResourceProvenance.update(resource=bikes, group=bikers, privilege=PrivilegeCodes.VIEW, grantor=george) self.assertEqual( GroupResourceProvenance.get_privilege(resource=bikes, group=bikers), PrivilegeCodes.VIEW) GroupResourceProvenance.update(resource=bikes, group=bikers, privilege=PrivilegeCodes.CHANGE, grantor=george) self.assertEqual( GroupResourceProvenance.get_privilege(resource=bikes, group=bikers), PrivilegeCodes.CHANGE) GroupResourceProvenance.undo_share(resource=bikes, group=bikers, grantor=george) self.assertEqual( GroupResourceProvenance.get_privilege(resource=bikes, group=bikers), PrivilegeCodes.VIEW) GroupResourceProvenance.update(resource=bikes, group=bikers, privilege=PrivilegeCodes.NONE, grantor=george) self.assertEqual( GroupResourceProvenance.get_privilege(resource=bikes, group=bikers), PrivilegeCodes.NONE) GroupResourceProvenance.update(resource=bikes, group=bikers, privilege=PrivilegeCodes.CHANGE, grantor=george) self.assertEqual( GroupResourceProvenance.get_privilege(resource=bikes, group=bikers), PrivilegeCodes.CHANGE)
def test_groupresourceprivilege_undo_share(self): george = self.george bikes = self.bikes bikers = self.bikers self.assertEqual( GroupResourceProvenance.get_privilege( resource=bikes, group=bikers), PrivilegeCodes.NONE) GroupResourceProvenance.update( resource=bikes, group=bikers, privilege=PrivilegeCodes.CHANGE, grantor=george) self.assertEqual( GroupResourceProvenance.get_privilege( resource=bikes, group=bikers), PrivilegeCodes.CHANGE) GroupResourceProvenance.update( resource=bikes, group=bikers, privilege=PrivilegeCodes.NONE, grantor=george) self.assertEqual( GroupResourceProvenance.get_privilege( resource=bikes, group=bikers), PrivilegeCodes.NONE) GroupResourceProvenance.update( resource=bikes, group=bikers, privilege=PrivilegeCodes.VIEW, grantor=george) self.assertEqual( GroupResourceProvenance.get_privilege( resource=bikes, group=bikers), PrivilegeCodes.VIEW) GroupResourceProvenance.undo_share(resource=bikes, group=bikers, grantor=george) self.assertEqual( GroupResourceProvenance.get_privilege( resource=bikes, group=bikers), PrivilegeCodes.NONE) # further undos are prohibited with self.assertRaises(PermissionDenied): GroupResourceProvenance.undo_share(resource=bikes, group=bikers, grantor=george) with self.assertRaises(PermissionDenied): GroupResourceProvenance.undo_share(resource=bikes, group=bikers, grantor=george) GroupResourceProvenance.update( resource=bikes, group=bikers, privilege=PrivilegeCodes.VIEW, grantor=george) self.assertEqual( GroupResourceProvenance.get_privilege( resource=bikes, group=bikers), PrivilegeCodes.VIEW) GroupResourceProvenance.update( resource=bikes, group=bikers, privilege=PrivilegeCodes.CHANGE, grantor=george) self.assertEqual( GroupResourceProvenance.get_privilege( resource=bikes, group=bikers), PrivilegeCodes.CHANGE) GroupResourceProvenance.undo_share(resource=bikes, group=bikers, grantor=george) self.assertEqual( GroupResourceProvenance.get_privilege( resource=bikes, group=bikers), PrivilegeCodes.VIEW) GroupResourceProvenance.update( resource=bikes, group=bikers, privilege=PrivilegeCodes.NONE, grantor=george) self.assertEqual( GroupResourceProvenance.get_privilege( resource=bikes, group=bikers), PrivilegeCodes.NONE) GroupResourceProvenance.update( resource=bikes, group=bikers, privilege=PrivilegeCodes.CHANGE, grantor=george) self.assertEqual( GroupResourceProvenance.get_privilege( resource=bikes, group=bikers), PrivilegeCodes.CHANGE)