entities/test/unittest_wfobjs.py
changeset 3890 d7a270f50f54
parent 3629 559cad62c786
parent 3879 7bb87da97026
child 3998 94cc7cad3d2d
equal deleted inserted replaced
3810:5b75fd66c80e 3890:d7a270f50f54
   480     #     self.execute('INSERT CWUser X: X login "badaboum", X upassword %(pwd)s, '
   480     #     self.execute('INSERT CWUser X: X login "badaboum", X upassword %(pwd)s, '
   481     #                  'X in_state S, X in_group G WHERE S name "deactivated", G name "users"', {'pwd': 'oops'})
   481     #                  'X in_state S, X in_group G WHERE S name "deactivated", G name "users"', {'pwd': 'oops'})
   482     #     self.commit()
   482     #     self.commit()
   483 
   483 
   484     # test that the workflow is correctly enforced
   484     # test that the workflow is correctly enforced
       
   485 
       
   486     def _cleanup_msg(self, msg):
       
   487         """remove the variable part of one specific error message"""
       
   488         lmsg = msg.split()
       
   489         lmsg.pop(1)
       
   490         lmsg.pop()
       
   491         return ' '.join(lmsg)
       
   492 
   485     def test_transition_checking1(self):
   493     def test_transition_checking1(self):
   486         cnx = self.login('stduser')
   494         cnx = self.login('stduser')
   487         user = cnx.user(self.session)
   495         user = cnx.user(self.session)
   488         ex = self.assertRaises(ValidationError,
   496         ex = self.assertRaises(ValidationError,
   489                                user.fire_transition, 'activate')
   497                                user.fire_transition, 'activate')
   490         self.assertEquals(ex.errors, {'by_transition': u"transition isn't allowed"})
   498         self.assertEquals(self._cleanup_msg(ex.errors['by_transition']),
       
   499                           u"transition isn't allowed from")
   491         cnx.close()
   500         cnx.close()
   492 
   501 
   493     def test_transition_checking2(self):
   502     def test_transition_checking2(self):
   494         cnx = self.login('stduser')
   503         cnx = self.login('stduser')
   495         user = cnx.user(self.session)
   504         user = cnx.user(self.session)
   496         ex = self.assertRaises(ValidationError,
   505         ex = self.assertRaises(ValidationError,
   497                                user.fire_transition, 'dummy')
   506                                user.fire_transition, 'dummy')
   498         self.assertEquals(ex.errors, {'by_transition': u"transition isn't allowed"})
   507         self.assertEquals(self._cleanup_msg(ex.errors['by_transition']),
       
   508                           u"transition isn't allowed from")
   499         cnx.close()
   509         cnx.close()
   500 
   510 
   501     def test_transition_checking3(self):
   511     def test_transition_checking3(self):
   502         cnx = self.login('stduser')
   512         cnx = self.login('stduser')
   503         session = self.session
   513         session = self.session
   505         user.fire_transition('deactivate')
   515         user.fire_transition('deactivate')
   506         cnx.commit()
   516         cnx.commit()
   507         session.set_pool()
   517         session.set_pool()
   508         ex = self.assertRaises(ValidationError,
   518         ex = self.assertRaises(ValidationError,
   509                                user.fire_transition, 'deactivate')
   519                                user.fire_transition, 'deactivate')
   510         self.assertEquals(ex.errors, {'by_transition': u"transition isn't allowed"})
   520         self.assertEquals(self._cleanup_msg(ex.errors['by_transition']),
       
   521                                             u"transition isn't allowed from")
   511         # get back now
   522         # get back now
   512         user.fire_transition('activate')
   523         user.fire_transition('activate')
   513         cnx.commit()
   524         cnx.commit()
   514         cnx.close()
   525         cnx.close()
   515 
   526