예제 #1
0
 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)
예제 #2
0
 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)
예제 #3
0
 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]))
예제 #4
0
 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]))
예제 #5
0
 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)
예제 #6
0
 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)
예제 #7
0
    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)
예제 #8
0
    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)