Files
@ 15e507047bae
Branch filter:
Location: kallithea/rhodecode/tests/models/common.py - annotation
15e507047bae
3.5 KiB
text/x-python
Incorporate CSS from select2-bootstrap-css & its license information.
RhodeCode 2.2.5 included a modified version of this upstream work. We
include herein the upstream version as downloaded and incorporated using the
following commands:
(cd /tmp; \
git clone https://github.com/t0m/select2-bootstrap-css
)
cp /tmp/select2-bootstrap-css/select2-bootstrap.css rhodecode/public/js/select2/
The content used to be appended to select2.css but we now keep it in a separate
file select2-bootstrap.css . This file could be included in root.html like
select2.css but we do currently not want to use bootstrap.
The license info was incorporated from /tmp/select2-bootstrap-css/LICENSE
into our LICENSE.md file.
RhodeCode 2.2.5 included a modified version of this upstream work. We
include herein the upstream version as downloaded and incorporated using the
following commands:
(cd /tmp; \
git clone https://github.com/t0m/select2-bootstrap-css
)
cp /tmp/select2-bootstrap-css/select2-bootstrap.css rhodecode/public/js/select2/
The content used to be appended to select2.css but we now keep it in a separate
file select2-bootstrap.css . This file could be included in root.html like
select2.css but we do currently not want to use bootstrap.
The license info was incorporated from /tmp/select2-bootstrap-css/LICENSE
into our LICENSE.md file.
c0cc8f8a71b0 8a86836fad64 c0cc8f8a71b0 ffd45b185016 c0cc8f8a71b0 c0cc8f8a71b0 c0cc8f8a71b0 c0cc8f8a71b0 c0cc8f8a71b0 c0cc8f8a71b0 c0cc8f8a71b0 c0cc8f8a71b0 8a86836fad64 c0cc8f8a71b0 c0cc8f8a71b0 c0cc8f8a71b0 c0cc8f8a71b0 ffd45b185016 ffd45b185016 c0cc8f8a71b0 c0cc8f8a71b0 c0cc8f8a71b0 ffd45b185016 c0cc8f8a71b0 c0cc8f8a71b0 c0cc8f8a71b0 c0cc8f8a71b0 c0cc8f8a71b0 c0cc8f8a71b0 c0cc8f8a71b0 c0cc8f8a71b0 c0cc8f8a71b0 c0cc8f8a71b0 c0cc8f8a71b0 c0cc8f8a71b0 c0cc8f8a71b0 c0cc8f8a71b0 c0cc8f8a71b0 c0cc8f8a71b0 c0cc8f8a71b0 c0cc8f8a71b0 c0cc8f8a71b0 c0cc8f8a71b0 c0cc8f8a71b0 c0cc8f8a71b0 c0cc8f8a71b0 c0cc8f8a71b0 c0cc8f8a71b0 c0cc8f8a71b0 c0cc8f8a71b0 c0cc8f8a71b0 dd0ee9119aa9 c0cc8f8a71b0 c0cc8f8a71b0 c0cc8f8a71b0 c0cc8f8a71b0 c0cc8f8a71b0 c0cc8f8a71b0 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 ffd45b185016 8a86836fad64 ffd45b185016 c0cc8f8a71b0 c0cc8f8a71b0 c0cc8f8a71b0 c0cc8f8a71b0 ffd45b185016 ffd45b185016 c0cc8f8a71b0 c0cc8f8a71b0 c0cc8f8a71b0 c0cc8f8a71b0 c0cc8f8a71b0 c0cc8f8a71b0 c0cc8f8a71b0 c0cc8f8a71b0 ffd45b185016 c0cc8f8a71b0 c0cc8f8a71b0 c0cc8f8a71b0 c0cc8f8a71b0 c0cc8f8a71b0 c0cc8f8a71b0 c0cc8f8a71b0 ffd45b185016 c0cc8f8a71b0 c0cc8f8a71b0 ffd45b185016 c0cc8f8a71b0 ffd45b185016 c0cc8f8a71b0 c0cc8f8a71b0 | from rhodecode.tests import *
from rhodecode.tests.fixture import Fixture
from rhodecode.model.repo_group import RepoGroupModel
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
fixture = Fixture()
def _destroy_project_tree(test_u1_id):
Session.remove()
repo_group = RepoGroup.get_by_group_name(group_name='g0')
for el in reversed(repo_group.recursive_groups_and_repos()):
if isinstance(el, Repository):
RepoModel().delete(el)
elif isinstance(el, RepoGroup):
RepoGroupModel().delete(el, force_delete=True)
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>
|_<g0/g0_3/g0_3_r2_private>
"""
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'
)
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)
g0_3_r2_private = fixture.create_repo('g0/g0_3/g0_3_r1_private',
repo_group=g0_3, repo_private=True)
return test_u1
def expected_count(group_name, objects=False):
repo_group = RepoGroup.get_by_group_name(group_name=group_name)
objs = repo_group.recursive_groups_and_repos()
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)
assert should_be == there_are, ('%s != %s' % ((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 _get_perms(filter_='', recursive=None, key=None, test_u1_id=None):
test_u1 = AuthUser(user_id=test_u1_id)
for k, v in test_u1.permissions[key].items():
if recursive in ['all', 'repos', 'groups'] and k.startswith(filter_):
yield k, v
elif recursive in ['none']:
if k == filter_:
yield k, v
|