[devtools/testlib] avoid hidding AttributeError in create_user()
commit() might raise a AttributeError too.
Use getattr(req, 'cnx', req) instead, which is a form already used to get the real cnx
in some code:
cubicweb/rset.py:577: cnx = getattr(self.req, 'cnx', self.req)
cubicweb/schema.py:353: with getattr(_cw, 'cnx', _cw).security_enabled(read=False):
We could use if hasattr(req, 'commit') here too but it lead to 3 additionals lines.
Maybe we should have commit() and rollback() on
cubicweb.web.request.ConnectionCubicWebRequestBase too ?
--- a/cubicweb/devtools/testlib.py Fri Apr 05 17:40:02 2019 +0200
+++ b/cubicweb/devtools/testlib.py Tue Apr 16 15:49:03 2019 +0200
@@ -479,10 +479,7 @@
reverse_primary_email=user)
user.cw_clear_relation_cache('in_group', 'subject')
if commit:
- try:
- req.commit() # req is a session
- except AttributeError:
- req.cnx.commit()
+ getattr(req, 'cnx', req).commit()
return user
# other utilities #########################################################