from rhodecode.tests import *
from rhodecode.model.db import UsersGroup
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,
{'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'))
@@ -38,37 +39,83 @@ class TestAdminUsersGroupsController(Tes
def test_delete(self):
users_group_name = TEST_USERS_GROUP + 'another'
'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))
users_group_name).scalar()
self.assertEqual(gr, None)
def test_enable_repository_read_on_group(self):
users_group_name = TEST_USERS_GROUP + 'another2'
ug = UsersGroup.get_by_group_name(users_group_name)
response = self.app.put(url('users_group_perm', id=ug.users_group_id),
{'create_repo_perm': True})
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 !
ugid = ug.users_group_id
response = self.app.delete(url('users_group', id=ug.users_group_id))
response = response.follow()
.filter(UsersGroupToPerm.users_group_id == ugid).all()
[]
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):
@@ -152,37 +152,37 @@ class TestReposGroups(unittest.TestCase)
self.__update_group(g1.group_id, 'g1', parent_id=g2.group_id)
self.assertTrue(self.__check_path('g2', 'g1'))
# test repo
self.assertEqual(r.repo_name, os.path.join('g2', 'g1', r.just_name))
def test_move_to_root(self):
g1 = _make_group('t11')
Session.commit()
g2 = _make_group('t22',parent_id=g1.group_id)
self.assertEqual(g2.full_path,'t11/t22')
self.assertTrue(self.__check_path('t11', 't22'))
g2 = self.__update_group(g2.group_id, 'g22', parent_id=None)
self.assertEqual(g2.group_name,'g22')
# we moved out group from t1 to '' so it's full path should be 'g2'
self.assertEqual(g2.full_path,'g22')
self.assertFalse(self.__check_path('t11', 't22'))
self.assertTrue(self.__check_path('g22'))
class TestUser(unittest.TestCase):
def __init__(self, methodName='runTest'):
Session.remove()
super(TestUser, self).__init__(methodName=methodName)
def test_create_and_remove(self):
usr = UserModel().create_or_update(username=u'test_user', password=u'qweqwe',
email=u'u232@rhodecode.org',
name=u'u1', lastname=u'u1')
self.assertEqual(User.get_by_username(u'test_user'), usr)
Status change: