##// END OF EJS Templates
added tests for users_group and issue #373
marcink -
r2064:c9adf2a4 beta
parent child Browse files
Show More
@@ -1,8 +1,9
1 from rhodecode.tests import *
1 from rhodecode.tests import *
2 from rhodecode.model.db import UsersGroup
2 from rhodecode.model.db import UsersGroup, UsersGroupToPerm, Permission
3
3
4 TEST_USERS_GROUP = 'admins_test'
4 TEST_USERS_GROUP = 'admins_test'
5
5
6
6 class TestAdminUsersGroupsController(TestController):
7 class TestAdminUsersGroupsController(TestController):
7
8
8 def test_index(self):
9 def test_index(self):
@@ -16,7 +17,7 class TestAdminUsersGroupsController(Tes
16 self.log_user()
17 self.log_user()
17 users_group_name = TEST_USERS_GROUP
18 users_group_name = TEST_USERS_GROUP
18 response = self.app.post(url('users_groups'),
19 response = self.app.post(url('users_groups'),
19 {'users_group_name':users_group_name,
20 {'users_group_name': users_group_name,
20 'active':True})
21 'active':True})
21 response.follow()
22 response.follow()
22
23
@@ -47,7 +48,6 class TestAdminUsersGroupsController(Tes
47 self.checkSessionFlash(response,
48 self.checkSessionFlash(response,
48 'created users group %s' % users_group_name)
49 'created users group %s' % users_group_name)
49
50
50
51 gr = self.Session.query(UsersGroup)\
51 gr = self.Session.query(UsersGroup)\
52 .filter(UsersGroup.users_group_name ==
52 .filter(UsersGroup.users_group_name ==
53 users_group_name).one()
53 users_group_name).one()
@@ -60,6 +60,53 class TestAdminUsersGroupsController(Tes
60
60
61 self.assertEqual(gr, None)
61 self.assertEqual(gr, None)
62
62
63 def test_enable_repository_read_on_group(self):
64 self.log_user()
65 users_group_name = TEST_USERS_GROUP + 'another2'
66 response = self.app.post(url('users_groups'),
67 {'users_group_name': users_group_name,
68 'active':True})
69 response.follow()
70
71 ug = UsersGroup.get_by_group_name(users_group_name)
72 self.checkSessionFlash(response,
73 'created users group %s' % users_group_name)
74
75 response = self.app.put(url('users_group_perm', id=ug.users_group_id),
76 {'create_repo_perm': True})
77
78 response.follow()
79 ug = UsersGroup.get_by_group_name(users_group_name)
80 p = Permission.get_by_key('hg.create.repository')
81 # check if user has this perm
82 perms = UsersGroupToPerm.query()\
83 .filter(UsersGroupToPerm.users_group == ug).all()
84 perms = [[x.__dict__['users_group_id'],
85 x.__dict__['permission_id'],] for x in perms]
86 self.assertEqual(
87 perms,
88 [[ug.users_group_id, p.permission_id]]
89 )
90
91 # DELETE !
92 ug = UsersGroup.get_by_group_name(users_group_name)
93 ugid = ug.users_group_id
94 response = self.app.delete(url('users_group', id=ug.users_group_id))
95 response = response.follow()
96 gr = self.Session.query(UsersGroup)\
97 .filter(UsersGroup.users_group_name ==
98 users_group_name).scalar()
99
100 self.assertEqual(gr, None)
101 p = Permission.get_by_key('hg.create.repository')
102 perms = UsersGroupToPerm.query()\
103 .filter(UsersGroupToPerm.users_group_id == ugid).all()
104 perms = [[x.__dict__['users_group_id'],
105 x.__dict__['permission_id'],] for x in perms]
106 self.assertEqual(
107 perms,
108 []
109 )
63
110
64 def test_delete_browser_fakeout(self):
111 def test_delete_browser_fakeout(self):
65 response = self.app.post(url('users_group', id=1),
112 response = self.app.post(url('users_group', id=1),
@@ -161,19 +161,19 class TestReposGroups(unittest.TestCase)
161 Session.commit()
161 Session.commit()
162 g2 = _make_group('t22',parent_id=g1.group_id)
162 g2 = _make_group('t22',parent_id=g1.group_id)
163 Session.commit()
163 Session.commit()
164
164
165 self.assertEqual(g2.full_path,'t11/t22')
165 self.assertEqual(g2.full_path,'t11/t22')
166 self.assertTrue(self.__check_path('t11', 't22'))
166 self.assertTrue(self.__check_path('t11', 't22'))
167
167
168 g2 = self.__update_group(g2.group_id, 'g22', parent_id=None)
168 g2 = self.__update_group(g2.group_id, 'g22', parent_id=None)
169 Session.commit()
169 Session.commit()
170
170
171 self.assertEqual(g2.group_name,'g22')
171 self.assertEqual(g2.group_name,'g22')
172 # we moved out group from t1 to '' so it's full path should be 'g2'
172 # we moved out group from t1 to '' so it's full path should be 'g2'
173 self.assertEqual(g2.full_path,'g22')
173 self.assertEqual(g2.full_path,'g22')
174 self.assertFalse(self.__check_path('t11', 't22'))
174 self.assertFalse(self.__check_path('t11', 't22'))
175 self.assertTrue(self.__check_path('g22'))
175 self.assertTrue(self.__check_path('g22'))
176
176
177
177
178 class TestUser(unittest.TestCase):
178 class TestUser(unittest.TestCase):
179 def __init__(self, methodName='runTest'):
179 def __init__(self, methodName='runTest'):
General Comments 0
You need to be logged in to leave comments. Login now