fix(tests): fixed more permissions tests
This commit is contained in:
parent
a019d888c3
commit
6cf678911a
2 changed files with 15 additions and 15 deletions
|
|
@ -1,5 +1,4 @@
|
|||
|
||||
# Copyright (C) 2010-2023 RhodeCode GmbH
|
||||
# Copyright (C) 2010-2024 RhodeCode GmbH
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License, version 3
|
||||
|
|
@ -69,9 +68,9 @@ def _create_project_tree():
|
|||
|
||||
"""
|
||||
test_u1 = UserModel().create_or_update(
|
||||
username=u'test_u1', password=u'qweqwe',
|
||||
email=u'test_u1@rhodecode.org', firstname=u'test_u1',
|
||||
lastname=u'test_u1')
|
||||
username='test_u1', password='qweqwe',
|
||||
email='test_u1@rhodecode.org', firstname='test_u1',
|
||||
lastname='test_u1')
|
||||
|
||||
fixture.create_repo_group('g0')
|
||||
g0_1 = fixture.create_repo_group('g0/g0_1')
|
||||
|
|
@ -84,8 +83,7 @@ def _create_project_tree():
|
|||
fixture.create_repo('g0/g0_2/g0_2_r2', repo_group=g0_2)
|
||||
g0_3 = fixture.create_repo_group('g0/g0_3')
|
||||
fixture.create_repo('g0/g0_3/g0_3_r1', repo_group=g0_3)
|
||||
fixture.create_repo(
|
||||
'g0/g0_3/g0_3_r1_private', repo_group=g0_3, repo_private=True)
|
||||
fixture.create_repo('g0/g0_3/g0_3_r1_private', repo_group=g0_3, repo_private=True)
|
||||
return test_u1
|
||||
|
||||
|
||||
|
|
@ -100,14 +98,14 @@ def expected_count(group_name, objects=False):
|
|||
def _check_expected_count(items, repo_items, expected):
|
||||
should_be = len(items + repo_items)
|
||||
there_are = len(expected)
|
||||
assert should_be == there_are, (
|
||||
'%s != %s' % ((items + repo_items), expected))
|
||||
assert should_be == there_are, f'{(items + repo_items)} != {expected}'
|
||||
|
||||
|
||||
def check_tree_perms(obj_name, repo_perm, prefix, expected_perm):
|
||||
assert repo_perm == expected_perm, (
|
||||
'obj:`%s` got perm:`%s` should:`%s`' % (
|
||||
obj_name, repo_perm, expected_perm))
|
||||
def check_tree_perms(obj_name, repo_perm, prefix, expected_perm, default_user=False):
|
||||
if 'r1_private' in obj_name and default_user:
|
||||
# private repo must be private even if "recursive" permissions apply
|
||||
expected_perm = 'repository.none'
|
||||
assert repo_perm == expected_perm, f'obj:`{obj_name}` got perm:`{repo_perm}` should:`{expected_perm}`'
|
||||
|
||||
|
||||
def _get_perms(filter_='', recursive=None, key=None, test_u1_id=None):
|
||||
|
|
|
|||
|
|
@ -139,6 +139,8 @@ def test_user_permissions_on_group_with_recursive_mode_for_default_user():
|
|||
|
||||
# set permission to g0 recursive mode, all children including
|
||||
# other repos and groups should have this permission now set !
|
||||
# except the PRIVATE repo which must remain repository.none permissions
|
||||
# this is exclusive to the default user
|
||||
recursive = 'all'
|
||||
group = 'g0'
|
||||
default_user_id = User.get_default_user_id()
|
||||
|
|
@ -156,10 +158,10 @@ def test_user_permissions_on_group_with_recursive_mode_for_default_user():
|
|||
_check_expected_count(items, repo_items, expected_count(group, True))
|
||||
|
||||
for name, perm in repo_items:
|
||||
check_tree_perms(name, perm, group, 'repository.write')
|
||||
check_tree_perms(name, perm, group, 'repository.write', default_user=True)
|
||||
|
||||
for name, perm in items:
|
||||
check_tree_perms(name, perm, group, 'group.write')
|
||||
check_tree_perms(name, perm, group, 'group.write', default_user=True)
|
||||
|
||||
|
||||
def test_user_permissions_on_group_with_recursive_mode_inner_group():
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue