Files
@ 9ab21c5ddb84
Branch filter:
Location: kallithea/rhodecode/tests/functional/test_admin_users_groups.py - annotation
9ab21c5ddb84
4.7 KiB
text/x-python
merge with beta
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 | c310e1e1e757 c9adf2a4929a c310e1e1e757 c310e1e1e757 c310e1e1e757 c9adf2a4929a c310e1e1e757 c310e1e1e757 c310e1e1e757 c310e1e1e757 c310e1e1e757 c310e1e1e757 c310e1e1e757 c310e1e1e757 c310e1e1e757 c310e1e1e757 6dee43453f58 c310e1e1e757 c310e1e1e757 c9adf2a4929a c310e1e1e757 c310e1e1e757 c310e1e1e757 c310e1e1e757 c310e1e1e757 c310e1e1e757 c310e1e1e757 c310e1e1e757 c310e1e1e757 c310e1e1e757 c310e1e1e757 c310e1e1e757 c310e1e1e757 c310e1e1e757 c310e1e1e757 c310e1e1e757 88d13c1c6a55 88d13c1c6a55 c310e1e1e757 c310e1e1e757 88d13c1c6a55 88d13c1c6a55 88d13c1c6a55 88d13c1c6a55 88d13c1c6a55 88d13c1c6a55 88d13c1c6a55 88d13c1c6a55 88d13c1c6a55 88d13c1c6a55 8ecc6b8229a5 88d13c1c6a55 88d13c1c6a55 88d13c1c6a55 88d13c1c6a55 88d13c1c6a55 8ecc6b8229a5 88d13c1c6a55 88d13c1c6a55 88d13c1c6a55 88d13c1c6a55 88d13c1c6a55 c9adf2a4929a c9adf2a4929a c9adf2a4929a c9adf2a4929a c9adf2a4929a c9adf2a4929a c9adf2a4929a c9adf2a4929a c9adf2a4929a c9adf2a4929a c9adf2a4929a c9adf2a4929a c9adf2a4929a c9adf2a4929a c9adf2a4929a c9adf2a4929a c9adf2a4929a c9adf2a4929a c9adf2a4929a c9adf2a4929a c9adf2a4929a c9adf2a4929a c9adf2a4929a c9adf2a4929a c9adf2a4929a c9adf2a4929a c9adf2a4929a c9adf2a4929a c9adf2a4929a c9adf2a4929a c9adf2a4929a c9adf2a4929a c9adf2a4929a c9adf2a4929a c9adf2a4929a c9adf2a4929a c9adf2a4929a c9adf2a4929a c9adf2a4929a c9adf2a4929a c9adf2a4929a c9adf2a4929a c9adf2a4929a c9adf2a4929a c9adf2a4929a c9adf2a4929a c9adf2a4929a c310e1e1e757 c310e1e1e757 88d13c1c6a55 88d13c1c6a55 c310e1e1e757 c310e1e1e757 c310e1e1e757 c310e1e1e757 c310e1e1e757 c310e1e1e757 c310e1e1e757 c310e1e1e757 c310e1e1e757 c310e1e1e757 c310e1e1e757 c310e1e1e757 c310e1e1e757 c310e1e1e757 c310e1e1e757 c310e1e1e757 c310e1e1e757 c310e1e1e757 c310e1e1e757 c310e1e1e757 c310e1e1e757 | from rhodecode.tests import *
from rhodecode.model.db import UsersGroup, UsersGroupToPerm, Permission
TEST_USERS_GROUP = 'admins_test'
class TestAdminUsersGroupsController(TestController):
def test_index(self):
response = self.app.get(url('users_groups'))
# Test response...
def test_index_as_xml(self):
response = self.app.get(url('formatted_users_groups', format='xml'))
def test_create(self):
self.log_user()
users_group_name = TEST_USERS_GROUP
response = self.app.post(url('users_groups'),
{'users_group_name': users_group_name,
'active':True})
response.follow()
self.checkSessionFlash(response,
'created users group %s' % TEST_USERS_GROUP)
def test_new(self):
response = self.app.get(url('new_users_group'))
def test_new_as_xml(self):
response = self.app.get(url('formatted_new_users_group', format='xml'))
def test_update(self):
response = self.app.put(url('users_group', id=1))
def test_update_browser_fakeout(self):
response = self.app.post(url('users_group', id=1),
params=dict(_method='put'))
def test_delete(self):
self.log_user()
users_group_name = TEST_USERS_GROUP + 'another'
response = self.app.post(url('users_groups'),
{'users_group_name':users_group_name,
'active':True})
response.follow()
self.checkSessionFlash(response,
'created users group %s' % users_group_name)
gr = self.Session.query(UsersGroup)\
.filter(UsersGroup.users_group_name ==
users_group_name).one()
response = self.app.delete(url('users_group', id=gr.users_group_id))
gr = self.Session.query(UsersGroup)\
.filter(UsersGroup.users_group_name ==
users_group_name).scalar()
self.assertEqual(gr, None)
def test_enable_repository_read_on_group(self):
self.log_user()
users_group_name = TEST_USERS_GROUP + 'another2'
response = self.app.post(url('users_groups'),
{'users_group_name': users_group_name,
'active':True})
response.follow()
ug = UsersGroup.get_by_group_name(users_group_name)
self.checkSessionFlash(response,
'created users group %s' % users_group_name)
response = self.app.put(url('users_group_perm', id=ug.users_group_id),
{'create_repo_perm': True})
response.follow()
ug = UsersGroup.get_by_group_name(users_group_name)
p = Permission.get_by_key('hg.create.repository')
# check if user has this perm
perms = UsersGroupToPerm.query()\
.filter(UsersGroupToPerm.users_group == ug).all()
perms = [[x.__dict__['users_group_id'],
x.__dict__['permission_id'],] for x in perms]
self.assertEqual(
perms,
[[ug.users_group_id, p.permission_id]]
)
# DELETE !
ug = UsersGroup.get_by_group_name(users_group_name)
ugid = ug.users_group_id
response = self.app.delete(url('users_group', id=ug.users_group_id))
response = response.follow()
gr = self.Session.query(UsersGroup)\
.filter(UsersGroup.users_group_name ==
users_group_name).scalar()
self.assertEqual(gr, None)
p = Permission.get_by_key('hg.create.repository')
perms = UsersGroupToPerm.query()\
.filter(UsersGroupToPerm.users_group_id == ugid).all()
perms = [[x.__dict__['users_group_id'],
x.__dict__['permission_id'],] for x in perms]
self.assertEqual(
perms,
[]
)
def test_delete_browser_fakeout(self):
response = self.app.post(url('users_group', id=1),
params=dict(_method='delete'))
def test_show(self):
response = self.app.get(url('users_group', id=1))
def test_show_as_xml(self):
response = self.app.get(url('formatted_users_group', id=1, format='xml'))
def test_edit(self):
response = self.app.get(url('edit_users_group', id=1))
def test_edit_as_xml(self):
response = self.app.get(url('formatted_edit_users_group', id=1, format='xml'))
def test_assign_members(self):
pass
def test_add_create_permission(self):
pass
def test_revoke_members(self):
pass
|