27 |
27 |
28 class BaseSecurityTC(CubicWebTC): |
28 class BaseSecurityTC(CubicWebTC): |
29 |
29 |
30 def setup_database(self): |
30 def setup_database(self): |
31 super(BaseSecurityTC, self).setup_database() |
31 super(BaseSecurityTC, self).setup_database() |
32 self.create_user('iaminusersgrouponly') |
32 req = self.request() |
|
33 self.create_user(req, 'iaminusersgrouponly') |
33 readoriggroups = self.schema['Personne'].permissions['read'] |
34 readoriggroups = self.schema['Personne'].permissions['read'] |
34 addoriggroups = self.schema['Personne'].permissions['add'] |
35 addoriggroups = self.schema['Personne'].permissions['add'] |
35 def fix_perm(): |
36 def fix_perm(): |
36 self.schema['Personne'].set_action_permissions('read', readoriggroups) |
37 self.schema['Personne'].set_action_permissions('read', readoriggroups) |
37 self.schema['Personne'].set_action_permissions('add', addoriggroups) |
38 self.schema['Personne'].set_action_permissions('add', addoriggroups) |
258 cu.execute("DELETE A concerne S WHERE S nom 'chouette'") |
259 cu.execute("DELETE A concerne S WHERE S nom 'chouette'") |
259 cnx.close() |
260 cnx.close() |
260 |
261 |
261 |
262 |
262 def test_user_can_change_its_upassword(self): |
263 def test_user_can_change_its_upassword(self): |
263 ueid = self.create_user('user').eid |
264 req = self.request() |
|
265 ueid = self.create_user(req, 'user').eid |
264 cnx = self.login('user') |
266 cnx = self.login('user') |
265 cu = cnx.cursor() |
267 cu = cnx.cursor() |
266 cu.execute('SET X upassword %(passwd)s WHERE X eid %(x)s', |
268 cu.execute('SET X upassword %(passwd)s WHERE X eid %(x)s', |
267 {'x': ueid, 'passwd': 'newpwd'}) |
269 {'x': ueid, 'passwd': 'newpwd'}) |
268 cnx.commit() |
270 cnx.commit() |
269 cnx.close() |
271 cnx.close() |
270 cnx = self.login('user', password='newpwd') |
272 cnx = self.login('user', password='newpwd') |
271 cnx.close() |
273 cnx.close() |
272 |
274 |
273 def test_user_cant_change_other_upassword(self): |
275 def test_user_cant_change_other_upassword(self): |
274 ueid = self.create_user('otheruser').eid |
276 req = self.request() |
|
277 ueid = self.create_user(req, 'otheruser').eid |
275 cnx = self.login('iaminusersgrouponly') |
278 cnx = self.login('iaminusersgrouponly') |
276 cu = cnx.cursor() |
279 cu = cnx.cursor() |
277 cu.execute('SET X upassword %(passwd)s WHERE X eid %(x)s', |
280 cu.execute('SET X upassword %(passwd)s WHERE X eid %(x)s', |
278 {'x': ueid, 'passwd': 'newpwd'}) |
281 {'x': ueid, 'passwd': 'newpwd'}) |
279 self.assertRaises(Unauthorized, cnx.commit) |
282 self.assertRaises(Unauthorized, cnx.commit) |