##// END OF EJS Templates
old style: don't reserve space for icons - they will have take the space they need
old style: don't reserve space for icons - they will have take the space they need

File last commit:

r4116:ffd45b18 rhodecode-2.2.5-gpl
r4144:962f7535 rhodecode-2.2.5-gpl
Show More
common.py
101 lines | 3.5 KiB | text/x-python | PythonLexer
Permissions on group can be set in recursive mode setting defined permission to all children...
r2820 from rhodecode.tests import *
more usage of fixture tools...
r3647 from rhodecode.tests.fixture import Fixture
Permissions on group can be set in recursive mode setting defined permission to all children...
r2820
Bradley M. Kuhn
Imported some of the GPLv3'd changes from RhodeCode v2.2.5....
r4116 from rhodecode.model.repo_group import RepoGroupModel
Permissions on group can be set in recursive mode setting defined permission to all children...
r2820 from rhodecode.model.repo import RepoModel
from rhodecode.model.db import RepoGroup, Repository, User
from rhodecode.model.user import UserModel
from rhodecode.lib.auth import AuthUser
from rhodecode.model.meta import Session
more usage of fixture tools...
r3647 fixture = Fixture()
Permissions on group can be set in recursive mode setting defined permission to all children...
r2820
def _destroy_project_tree(test_u1_id):
Session.remove()
Bradley M. Kuhn
Imported some of the GPLv3'd changes from RhodeCode v2.2.5....
r4116 repo_group = RepoGroup.get_by_group_name(group_name='g0')
for el in reversed(repo_group.recursive_groups_and_repos()):
Permissions on group can be set in recursive mode setting defined permission to all children...
r2820 if isinstance(el, Repository):
RepoModel().delete(el)
elif isinstance(el, RepoGroup):
Bradley M. Kuhn
Imported some of the GPLv3'd changes from RhodeCode v2.2.5....
r4116 RepoGroupModel().delete(el, force_delete=True)
Permissions on group can be set in recursive mode setting defined permission to all children...
r2820
u = User.get(test_u1_id)
Session().delete(u)
Session().commit()
def _create_project_tree():
"""
Creates a tree of groups and repositories to test permissions
structure
[g0] - group `g0` with 3 subgroups
|
|__[g0_1] group g0_1 with 2 groups 0 repos
| |
| |__[g0_1_1] group g0_1_1 with 1 group 2 repos
| | |__<g0/g0_1/g0_1_1/g0_1_1_r1>
| | |__<g0/g0_1/g0_1_1/g0_1_1_r2>
| |__<g0/g0_1/g0_1_r1>
|
|__[g0_2] 2 repos
| |
| |__<g0/g0_2/g0_2_r1>
| |__<g0/g0_2/g0_2_r2>
|
|__[g0_3] 1 repo
|
|_<g0/g0_3/g0_3_r1>
recursive mode of setting permission should skip private repositories, they should remain private, it's proper thing to do !
r3221 |_<g0/g0_3/g0_3_r2_private>
Permissions on group can be set in recursive mode setting defined permission to all children...
r2820
"""
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'
)
Bradley M. Kuhn
Imported some of the GPLv3'd changes from RhodeCode v2.2.5....
r4116 g0 = fixture.create_repo_group('g0')
g0_1 = fixture.create_repo_group('g0_1', group_parent_id=g0)
g0_1_1 = fixture.create_repo_group('g0_1_1', group_parent_id=g0_1)
g0_1_1_r1 = fixture.create_repo('g0/g0_1/g0_1_1/g0_1_1_r1', repo_group=g0_1_1)
g0_1_1_r2 = fixture.create_repo('g0/g0_1/g0_1_1/g0_1_1_r2', repo_group=g0_1_1)
g0_1_r1 = fixture.create_repo('g0/g0_1/g0_1_r1', repo_group=g0_1)
g0_2 = fixture.create_repo_group('g0_2', group_parent_id=g0)
g0_2_r1 = fixture.create_repo('g0/g0_2/g0_2_r1', repo_group=g0_2)
g0_2_r2 = fixture.create_repo('g0/g0_2/g0_2_r2', repo_group=g0_2)
g0_3 = fixture.create_repo_group('g0_3', group_parent_id=g0)
g0_3_r1 = fixture.create_repo('g0/g0_3/g0_3_r1', repo_group=g0_3)
more usage of fixture tools...
r3647 g0_3_r2_private = fixture.create_repo('g0/g0_3/g0_3_r1_private',
Bradley M. Kuhn
Imported some of the GPLv3'd changes from RhodeCode v2.2.5....
r4116 repo_group=g0_3, repo_private=True)
Permissions on group can be set in recursive mode setting defined permission to all children...
r2820 return test_u1
def expected_count(group_name, objects=False):
Bradley M. Kuhn
Imported some of the GPLv3'd changes from RhodeCode v2.2.5....
r4116 repo_group = RepoGroup.get_by_group_name(group_name=group_name)
objs = repo_group.recursive_groups_and_repos()
Permissions on group can be set in recursive mode setting defined permission to all children...
r2820 if objects:
return objs
return len(objs)
def _check_expected_count(items, repo_items, expected):
should_be = len(items + repo_items)
there_are = len(expected)
Bradley M. Kuhn
Imported some of the GPLv3'd changes from RhodeCode v2.2.5....
r4116 assert should_be == there_are, ('%s != %s' % ((items + repo_items), expected))
Permissions on group can be set in recursive mode setting defined permission to all children...
r2820
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))
Bradley M. Kuhn
Imported some of the GPLv3'd changes from RhodeCode v2.2.5....
r4116 def _get_perms(filter_='', recursive=None, key=None, test_u1_id=None):
Permissions on group can be set in recursive mode setting defined permission to all children...
r2820 test_u1 = AuthUser(user_id=test_u1_id)
for k, v in test_u1.permissions[key].items():
Bradley M. Kuhn
Imported some of the GPLv3'd changes from RhodeCode v2.2.5....
r4116 if recursive in ['all', 'repos', 'groups'] and k.startswith(filter_):
Permissions on group can be set in recursive mode setting defined permission to all children...
r2820 yield k, v
Bradley M. Kuhn
Imported some of the GPLv3'd changes from RhodeCode v2.2.5....
r4116 elif recursive in ['none']:
Permissions on group can be set in recursive mode setting defined permission to all children...
r2820 if k == filter_:
yield k, v