changeset 8377:86bf2cd71a65 stable

tests: fix TestPermissions.test_inactive_user_group_does_not_affect_repo_group_permissions_inverse Handle L1_new leak from test_rename_top_level_group_in_nested_setup .
author Mads Kiilerich <mads@kiilerich.com>
date Thu, 30 Apr 2020 13:57:40 +0200
parents 797767469152
children 754dbf31b551
files kallithea/tests/models/test_permissions.py
diffstat 1 files changed, 29 insertions(+), 20 deletions(-) [+]
line wrap: on
line diff
--- a/kallithea/tests/models/test_permissions.py	Thu Apr 30 14:42:12 2020 +0200
+++ b/kallithea/tests/models/test_permissions.py	Thu Apr 30 13:57:40 2020 +0200
@@ -94,7 +94,8 @@
         self.g2 = fixture.create_repo_group('test2', skip_if_exists=True)
         u1_auth = AuthUser(user_id=self.u1.user_id)
         assert u1_auth.permissions['repositories'][base.HG_REPO] == 'repository.read'
-        assert u1_auth.permissions['repositories_groups'] == {'test1': 'group.read', 'test2': 'group.read'}
+        assert u1_auth.permissions['repositories_groups'].get('test1') == 'group.read'
+        assert u1_auth.permissions['repositories_groups'].get('test2') == 'group.read'
         assert u1_auth.permissions['global'] == set(Permission.DEFAULT_USER_PERMISSIONS)
 
     def test_default_admin_group_perms(self):
@@ -102,7 +103,8 @@
         self.g2 = fixture.create_repo_group('test2', skip_if_exists=True)
         a1_auth = AuthUser(user_id=self.a1.user_id)
         assert a1_auth.permissions['repositories'][base.HG_REPO] == 'repository.admin'
-        assert a1_auth.permissions['repositories_groups'] == {'test1': 'group.admin', 'test2': 'group.admin'}
+        assert a1_auth.permissions['repositories_groups'].get('test1') == 'group.admin'
+        assert a1_auth.permissions['repositories_groups'].get('test2') == 'group.admin'
 
     def test_propagated_permission_from_users_group_by_explicit_perms_exist(self):
         # make group
@@ -137,7 +139,6 @@
         # check perms
         u3_auth = AuthUser(user_id=self.u3.user_id)
         assert u3_auth.permissions['repositories'][base.HG_REPO] == new_perm_gr
-        assert u3_auth.permissions['repositories_groups'] == {}  # note: it is unclear which repo group we are happy to not see here ...
 
     def test_propagated_permission_from_users_group_lower_weight(self):
         # make group
@@ -162,17 +163,18 @@
         # check perms
         u1_auth = AuthUser(user_id=self.u1.user_id)
         assert u1_auth.permissions['repositories'][base.HG_REPO] == new_perm_h
-        assert u1_auth.permissions['repositories_groups'] == {}  # note: it is unclear which repo group we are happy to not see here ...
 
     def test_repo_in_group_permissions(self):
         self.g1 = fixture.create_repo_group('group1', skip_if_exists=True)
         self.g2 = fixture.create_repo_group('group2', skip_if_exists=True)
         # both perms should be read !
         u1_auth = AuthUser(user_id=self.u1.user_id)
-        assert u1_auth.permissions['repositories_groups'] == {'group1': 'group.read', 'group2': 'group.read'}
+        assert u1_auth.permissions['repositories_groups'].get('group1') == 'group.read'
+        assert u1_auth.permissions['repositories_groups'].get('group2') == 'group.read'
 
         a1_auth = AuthUser(user_id=self.anon.user_id)
-        assert a1_auth.permissions['repositories_groups'] == {'group1': 'group.read', 'group2': 'group.read'}
+        assert a1_auth.permissions['repositories_groups'].get('group1') == 'group.read'
+        assert a1_auth.permissions['repositories_groups'].get('group2') == 'group.read'
 
         # Change perms to none for both groups
         RepoGroupModel().grant_user_permission(repo_group=self.g1,
@@ -183,10 +185,12 @@
                                                perm='group.none')
 
         u1_auth = AuthUser(user_id=self.u1.user_id)
-        assert u1_auth.permissions['repositories_groups'] == {'group1': 'group.none', 'group2': 'group.none'}
+        assert u1_auth.permissions['repositories_groups'].get('group1') == 'group.none'
+        assert u1_auth.permissions['repositories_groups'].get('group2') == 'group.none'
 
         a1_auth = AuthUser(user_id=self.anon.user_id)
-        assert a1_auth.permissions['repositories_groups'] == {'group1': 'group.none', 'group2': 'group.none'}
+        assert a1_auth.permissions['repositories_groups'].get('group1') == 'group.none'
+        assert a1_auth.permissions['repositories_groups'].get('group2') == 'group.none'
 
         # add repo to group
         name = db.URL_SEP.join([self.g1.group_name, 'test_perm'])
@@ -196,10 +200,12 @@
                                              cur_user=self.u1,)
 
         u1_auth = AuthUser(user_id=self.u1.user_id)
-        assert u1_auth.permissions['repositories_groups'] == {'group1': 'group.none', 'group2': 'group.none'}
+        assert u1_auth.permissions['repositories_groups'].get('group1') == 'group.none'
+        assert u1_auth.permissions['repositories_groups'].get('group2') == 'group.none'
 
         a1_auth = AuthUser(user_id=self.anon.user_id)
-        assert a1_auth.permissions['repositories_groups'] == {'group1': 'group.none', 'group2': 'group.none'}
+        assert a1_auth.permissions['repositories_groups'].get('group1') == 'group.none'
+        assert a1_auth.permissions['repositories_groups'].get('group2') == 'group.none'
 
         # grant permission for u2 !
         RepoGroupModel().grant_user_permission(repo_group=self.g1, user=self.u2,
@@ -210,20 +216,23 @@
         assert self.u1 != self.u2
         # u1 and anon should have not change perms while u2 should !
         u1_auth = AuthUser(user_id=self.u1.user_id)
-        assert u1_auth.permissions['repositories_groups'] == {'group1': 'group.none', 'group2': 'group.none'}
+        assert u1_auth.permissions['repositories_groups'].get('group1') == 'group.none'
+        assert u1_auth.permissions['repositories_groups'].get('group2') == 'group.none'
 
         u2_auth = AuthUser(user_id=self.u2.user_id)
-        assert u2_auth.permissions['repositories_groups'] == {'group1': 'group.read', 'group2': 'group.read'}
+        assert u2_auth.permissions['repositories_groups'].get('group1') == 'group.read'
+        assert u2_auth.permissions['repositories_groups'].get('group2') == 'group.read'
 
         a1_auth = AuthUser(user_id=self.anon.user_id)
-        assert a1_auth.permissions['repositories_groups'] == {'group1': 'group.none', 'group2': 'group.none'}
+        assert a1_auth.permissions['repositories_groups'].get('group1') == 'group.none'
+        assert a1_auth.permissions['repositories_groups'].get('group2') == 'group.none'
 
     def test_repo_group_user_as_user_group_member(self):
         # create Group1
         self.g1 = fixture.create_repo_group('group1', skip_if_exists=True)
         a1_auth = AuthUser(user_id=self.anon.user_id)
 
-        assert a1_auth.permissions['repositories_groups'] == {'group1': 'group.read'}
+        assert a1_auth.permissions['repositories_groups'].get('group1') == 'group.read'
 
         # set default permission to none
         RepoGroupModel().grant_user_permission(repo_group=self.g1,
@@ -242,10 +251,10 @@
 
         # check his permissions
         a1_auth = AuthUser(user_id=self.anon.user_id)
-        assert a1_auth.permissions['repositories_groups'] == {'group1': 'group.none'}
+        assert a1_auth.permissions['repositories_groups'].get('group1') == 'group.none'
 
         u1_auth = AuthUser(user_id=self.u1.user_id)
-        assert u1_auth.permissions['repositories_groups'] == {'group1': 'group.none'}
+        assert u1_auth.permissions['repositories_groups'].get('group1') == 'group.none'
 
         # grant ug1 read permissions for
         RepoGroupModel().grant_user_group_permission(repo_group=self.g1,
@@ -261,10 +270,10 @@
 
         a1_auth = AuthUser(user_id=self.anon.user_id)
 
-        assert a1_auth.permissions['repositories_groups'] == {'group1': 'group.none'}
+        assert a1_auth.permissions['repositories_groups'].get('group1') == 'group.none'
 
         u1_auth = AuthUser(user_id=self.u1.user_id)
-        assert u1_auth.permissions['repositories_groups'] == {'group1': 'group.read'}
+        assert u1_auth.permissions['repositories_groups'].get('group1') == 'group.read'
 
     def test_inherit_nice_permissions_from_default_user(self):
         user_model = UserModel()
@@ -482,7 +491,7 @@
                                                perm='group.write')
         Session().commit()
         u1_auth = AuthUser(user_id=self.u1.user_id)
-        assert u1_auth.permissions['repositories_groups'] == {'group1': 'group.write'}
+        assert u1_auth.permissions['repositories_groups'].get('group1') == 'group.write'
 
     def test_inactive_user_group_does_not_affect_repo_group_permissions_inverse(self):
         self.ug1 = fixture.create_user_group('G1')
@@ -502,7 +511,7 @@
                                                perm='group.admin')
         Session().commit()
         u1_auth = AuthUser(user_id=self.u1.user_id)
-        assert u1_auth.permissions['repositories_groups'] == {'group1': 'group.admin'}
+        assert u1_auth.permissions['repositories_groups'].get('group1') == 'group.admin'
 
     def test_inactive_user_group_does_not_affect_user_group_permissions(self):
         self.ug1 = fixture.create_user_group('G1')