# HG changeset patch # User Mads Kiilerich # Date 1588247860 -7200 # Node ID 86bf2cd71a65d1ac199f99fe7a23c45eed49160a # Parent 79776746915276ed333099495412b6c478489c78 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 . diff -r 797767469152 -r 86bf2cd71a65 kallithea/tests/models/test_permissions.py --- 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')