Mercurial > kallithea
changeset 2064:c9adf2a4929a beta
added tests for users_group and issue #373
author | Marcin Kuzminski <marcin@python-works.com> |
---|---|
date | Tue, 28 Feb 2012 19:59:16 +0200 |
parents | d9ba58526712 |
children | 9ab21c5ddb84 de372c3a329e |
files | rhodecode/tests/functional/test_admin_users_groups.py rhodecode/tests/test_models.py |
diffstat | 2 files changed, 54 insertions(+), 7 deletions(-) [+] |
line wrap: on
line diff
--- a/rhodecode/tests/functional/test_admin_users_groups.py Tue Feb 28 19:18:35 2012 +0200 +++ b/rhodecode/tests/functional/test_admin_users_groups.py Tue Feb 28 19:59:16 2012 +0200 @@ -1,8 +1,9 @@ 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): @@ -16,7 +17,7 @@ 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() @@ -47,7 +48,6 @@ self.checkSessionFlash(response, 'created users group %s' % users_group_name) - gr = self.Session.query(UsersGroup)\ .filter(UsersGroup.users_group_name == users_group_name).one() @@ -60,6 +60,53 @@ 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),
--- a/rhodecode/tests/test_models.py Tue Feb 28 19:18:35 2012 +0200 +++ b/rhodecode/tests/test_models.py Tue Feb 28 19:59:16 2012 +0200 @@ -161,19 +161,19 @@ Session.commit() g2 = _make_group('t22',parent_id=g1.group_id) Session.commit() - + 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) Session.commit() - + 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'):