def test_usergroupprivilege_get_undo_users(self):
     george = self.george
     bikers = self.bikers
     alva = self.alva
     UserGroupProvenance.update(group=bikers,
                                user=alva,
                                privilege=PrivilegeCodes.CHANGE,
                                grantor=george)
     self.assertTrue(
         is_equal_to_as_set(
             UserGroupProvenance.get_undo_users(group=bikers,
                                                grantor=george), [alva]))
 def test_usergroupprivilege_get_current_record(self):
     george = self.george
     bikers = self.bikers
     alva = self.alva
     UserGroupProvenance.update(group=bikers,
                                user=alva,
                                privilege=PrivilegeCodes.CHANGE,
                                grantor=george)
     record = UserGroupProvenance.get_current_record(group=bikers,
                                                     user=alva)
     self.assertEqual(record.grantor, george)
     self.assertEqual(record.group, bikers)
     self.assertEqual(record.user, alva)
 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)
 def test_usergroupprivilege_get_current_record(self):
     george = self.george
     bikers = self.bikers
     alva = self.alva
     UserGroupProvenance.update(
         group=bikers,
         user=alva,
         privilege=PrivilegeCodes.CHANGE,
         grantor=george)
     record = UserGroupProvenance.get_current_record(
         group=bikers, user=alva)
     self.assertEqual(record.grantor, george)
     self.assertEqual(record.group, bikers)
     self.assertEqual(record.user, alva)
 def test_usergroupprivilege_get_undo_users(self):
     george = self.george
     bikers = self.bikers
     alva = self.alva
     UserGroupProvenance.update(
         group=bikers,
         user=alva,
         privilege=PrivilegeCodes.CHANGE,
         grantor=george)
     self.assertTrue(
         is_equal_to_as_set(
             UserGroupProvenance.get_undo_users(
                 group=bikers,
                 grantor=george),
             [alva]))
Exemplo n.º 6
0
def printUserGroupProvenance():
    print("===================================")
    print("UserGroupPrivilege")
    priv = UserGroupPrivilege.objects.all().order_by('user__id', 'group__id')
    o = None
    for p in priv:
        if o is not None and (p.user != o.user or p.group != o.group):
            print("------------------------------")
        pprint(p)
        o = p
    print("===================================")
    print("UserGroupProvenance")
    prov = UserGroupProvenance.objects.all().order_by('user__id', 'group__id',
                                                      'start')
    o = None
    for p in prov:
        if o is not None and (p.user != o.user or p.group != o.group):
            print("------------------------------")
        current = UserGroupProvenance.get_current_record(group=p.group,
                                                         user=p.user)
        star = ''
        if current == p:
            star = 'CURRENT'
        print((p, star))
        o = p
Exemplo n.º 7
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))
Exemplo n.º 8
0
def printUserGroupProvenance():
    print "==================================="
    print "UserGroupPrivilege"
    priv = UserGroupPrivilege.objects.all().order_by('user__id', 'group__id')
    o = None
    for p in priv:
        if o is not None and (p.user != o.user or p.group != o.group):
            print "------------------------------"
        pprint(p)
        o = p
    print "==================================="
    print "UserGroupProvenance"
    prov = UserGroupProvenance.objects.all().order_by(
        'user__id', 'group__id', 'start')
    o = None
    for p in prov:
        if o is not None and (p.user != o.user or p.group != o.group):
            print "------------------------------"
        current = UserGroupProvenance.get_current_record(
            group=p.group, user=p.user)
        star = ''
        if current == p:
            star = 'CURRENT'
        print(p, star)
        o = p
 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)
Exemplo n.º 10
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))
Exemplo n.º 11
0
    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)
Exemplo n.º 12
0
    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)