def test_usergroupprivilege_get_privilege(self):
     george = self.george
     bikers = self.bikers
     alva = self.alva
     self.assertEqual(
         UserGroupProvenance.get_privilege(group=bikers, user=alva),
         PrivilegeCodes.NONE)
     UserGroupProvenance.update(group=bikers,
                                user=alva,
                                privilege=PrivilegeCodes.CHANGE,
                                grantor=george)
     self.assertEqual(
         UserGroupProvenance.get_privilege(group=bikers, user=alva),
         PrivilegeCodes.CHANGE)
예제 #2
0
def check_provenance_synchronization(self):
    for u in User.objects.all():
        for r in BaseResource.objects.all():
            prov = UserResourceProvenance.get_privilege(resource=r, user=u)
            priv = UserResourcePrivilege.get_privilege(resource=r, user=u)
            self.assertEqual(
                prov, priv,
                str.format("prov={}, priv={}, resource={}, user={}", prov,
                           priv, r, u))
    for u in User.objects.all():
        for g in Group.objects.all():
            prov = UserGroupProvenance.get_privilege(group=g, user=u)
            priv = UserGroupPrivilege.get_privilege(group=g, user=u)
            self.assertEqual(
                prov, priv,
                str.format("prov={}, priv={}, group={}, user={}", prov, priv,
                           g, u))
    for g in Group.objects.all():
        for r in BaseResource.objects.all():
            prov = GroupResourceProvenance.get_privilege(resource=r, group=g)
            priv = GroupResourcePrivilege.get_privilege(resource=r, group=g)
            self.assertEqual(
                prov, priv,
                str.format("prov={}, priv={}, group={}, resource={}", prov,
                           priv, g, r))
 def test_usergroupprivilege_update(self):
     george = self.george
     bikers = self.bikers
     alva = self.alva
     self.assertEqual(
         UserGroupProvenance.get_privilege(
             group=bikers,
             user=alva),
         PrivilegeCodes.NONE)
     UserGroupProvenance.update(
         group=bikers,
         user=alva,
         privilege=PrivilegeCodes.CHANGE,
         grantor=george)
     self.assertEqual(
         UserGroupProvenance.get_privilege(
             group=bikers,
             user=alva),
         PrivilegeCodes.CHANGE)
예제 #4
0
def check_provenance_synchronization(self):
    for u in User.objects.all():
        for r in BaseResource.objects.all():
            prov = UserResourceProvenance.get_privilege(resource=r, user=u)
            priv = UserResourcePrivilege.get_privilege(resource=r, user=u)
            self.assertEqual(prov, priv,
                             str.format("prov={}, priv={}, resource={}, user={}",
                                        prov, priv, r, u))
    for u in User.objects.all():
        for g in Group.objects.all():
            prov = UserGroupProvenance.get_privilege(group=g, user=u)
            priv = UserGroupPrivilege.get_privilege(group=g, user=u)
            self.assertEqual(prov, priv,
                             str.format("prov={}, priv={}, group={}, user={}",
                                        prov, priv, g, u))
    for g in Group.objects.all():
        for r in BaseResource.objects.all():
            prov = GroupResourceProvenance.get_privilege(resource=r, group=g)
            priv = GroupResourcePrivilege.get_privilege(resource=r, group=g)
            self.assertEqual(prov, priv,
                             str.format("prov={}, priv={}, group={}, resource={}",
                                        prov, priv, g, r))
    def test_usergroupprivilege_undo_share(self):
        george = self.george
        bikers = self.bikers
        alva = self.alva
        self.assertEqual(
            UserGroupProvenance.get_privilege(group=bikers, user=alva),
            PrivilegeCodes.NONE)
        UserGroupProvenance.update(group=bikers,
                                   user=alva,
                                   privilege=PrivilegeCodes.CHANGE,
                                   grantor=george)
        self.assertEqual(
            UserGroupProvenance.get_privilege(group=bikers, user=alva),
            PrivilegeCodes.CHANGE)
        UserGroupProvenance.update(group=bikers,
                                   user=alva,
                                   privilege=PrivilegeCodes.NONE,
                                   grantor=george)
        self.assertEqual(
            UserGroupProvenance.get_privilege(group=bikers, user=alva),
            PrivilegeCodes.NONE)
        UserGroupProvenance.update(group=bikers,
                                   user=alva,
                                   privilege=PrivilegeCodes.VIEW,
                                   grantor=george)
        self.assertEqual(
            UserGroupProvenance.get_privilege(group=bikers, user=alva),
            PrivilegeCodes.VIEW)
        UserGroupProvenance.undo_share(group=bikers, user=alva, grantor=george)
        self.assertEqual(
            UserGroupProvenance.get_privilege(group=bikers, user=alva),
            PrivilegeCodes.NONE)

        # no further undo is possible.
        with self.assertRaises(PermissionDenied):
            UserGroupProvenance.undo_share(group=bikers,
                                           user=alva,
                                           grantor=george)
        with self.assertRaises(PermissionDenied):
            UserGroupProvenance.undo_share(group=bikers,
                                           user=alva,
                                           grantor=george)

        UserGroupProvenance.update(group=bikers,
                                   user=alva,
                                   privilege=PrivilegeCodes.VIEW,
                                   grantor=george)
        self.assertEqual(
            UserGroupProvenance.get_privilege(group=bikers, user=alva),
            PrivilegeCodes.VIEW)
        UserGroupProvenance.update(group=bikers,
                                   user=alva,
                                   privilege=PrivilegeCodes.CHANGE,
                                   grantor=george)
        self.assertEqual(
            UserGroupProvenance.get_privilege(group=bikers, user=alva),
            PrivilegeCodes.CHANGE)
        UserGroupProvenance.undo_share(group=bikers, user=alva, grantor=george)
        self.assertEqual(
            UserGroupProvenance.get_privilege(group=bikers, user=alva),
            PrivilegeCodes.VIEW)
        UserGroupProvenance.update(group=bikers,
                                   user=alva,
                                   privilege=PrivilegeCodes.NONE,
                                   grantor=george)
        self.assertEqual(
            UserGroupProvenance.get_privilege(group=bikers, user=alva),
            PrivilegeCodes.NONE)
        UserGroupProvenance.update(group=bikers,
                                   user=alva,
                                   privilege=PrivilegeCodes.CHANGE,
                                   grantor=george)
        self.assertEqual(
            UserGroupProvenance.get_privilege(group=bikers, user=alva),
            PrivilegeCodes.CHANGE)
    def test_usergroupprivilege_undo_share(self):
        george = self.george
        bikers = self.bikers
        alva = self.alva
        self.assertEqual(
            UserGroupProvenance.get_privilege(
                group=bikers,
                user=alva),
            PrivilegeCodes.NONE)
        UserGroupProvenance.update(
            group=bikers,
            user=alva,
            privilege=PrivilegeCodes.CHANGE,
            grantor=george)
        self.assertEqual(
            UserGroupProvenance.get_privilege(
                group=bikers,
                user=alva),
            PrivilegeCodes.CHANGE)
        UserGroupProvenance.update(
            group=bikers,
            user=alva,
            privilege=PrivilegeCodes.NONE,
            grantor=george)
        self.assertEqual(
            UserGroupProvenance.get_privilege(
                group=bikers,
                user=alva),
            PrivilegeCodes.NONE)
        UserGroupProvenance.update(
            group=bikers,
            user=alva,
            privilege=PrivilegeCodes.VIEW,
            grantor=george)
        self.assertEqual(
            UserGroupProvenance.get_privilege(
                group=bikers,
                user=alva),
            PrivilegeCodes.VIEW)
        UserGroupProvenance.undo_share(group=bikers, user=alva, grantor=george)
        self.assertEqual(
            UserGroupProvenance.get_privilege(
                group=bikers,
                user=alva),
            PrivilegeCodes.NONE)

        # no further undo is possible.
        with self.assertRaises(PermissionDenied):
            UserGroupProvenance.undo_share(group=bikers, user=alva, grantor=george)
        with self.assertRaises(PermissionDenied):
            UserGroupProvenance.undo_share(group=bikers, user=alva, grantor=george)

        UserGroupProvenance.update(
            group=bikers,
            user=alva,
            privilege=PrivilegeCodes.VIEW,
            grantor=george)
        self.assertEqual(
            UserGroupProvenance.get_privilege(
                group=bikers,
                user=alva),
            PrivilegeCodes.VIEW)
        UserGroupProvenance.update(
            group=bikers,
            user=alva,
            privilege=PrivilegeCodes.CHANGE,
            grantor=george)
        self.assertEqual(
            UserGroupProvenance.get_privilege(
                group=bikers,
                user=alva),
            PrivilegeCodes.CHANGE)
        UserGroupProvenance.undo_share(group=bikers, user=alva, grantor=george)
        self.assertEqual(
            UserGroupProvenance.get_privilege(
                group=bikers,
                user=alva),
            PrivilegeCodes.VIEW)
        UserGroupProvenance.update(
            group=bikers,
            user=alva,
            privilege=PrivilegeCodes.NONE,
            grantor=george)
        self.assertEqual(
            UserGroupProvenance.get_privilege(
                group=bikers,
                user=alva),
            PrivilegeCodes.NONE)
        UserGroupProvenance.update(
            group=bikers,
            user=alva,
            privilege=PrivilegeCodes.CHANGE,
            grantor=george)
        self.assertEqual(
            UserGroupProvenance.get_privilege(
                group=bikers,
                user=alva),
            PrivilegeCodes.CHANGE)