server/test/unittest_security.py
changeset 7244 a918f76441ce
parent 7078 bad26a22fe29
child 7398 26695dd703d8
equal deleted inserted replaced
7243:9ab01bf84eac 7244:a918f76441ce
    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)