# HG changeset patch # User Philippe Pepiot # Date 1493211880 -7200 # Node ID 50109859da4381206459adf67386e3a8c0286d4c # Parent 29dae4b0332ad48d92feceb75da9c0f423a2d4cd [req] raise KeyError instead of AssertionError in req.find() diff -r 29dae4b0332a -r 50109859da43 cubicweb/req.py --- a/cubicweb/req.py Tue Apr 25 17:31:24 2017 +0200 +++ b/cubicweb/req.py Wed Apr 26 15:04:40 2017 +0200 @@ -224,13 +224,13 @@ kwargs[attr] = value.eid if attr.startswith('reverse_'): attr = attr[8:] - assert attr in eschema.objrels, \ - '{0} not in {1} object relations'.format(attr, eschema) + if attr not in eschema.objrels: + raise KeyError('{0} not in {1} object relations'.format(attr, eschema)) parts.append('{var} {attr} X, {var} eid %(reverse_{attr})s'.format( var=next(varmaker), attr=attr)) else: - assert attr in eschema.subjrels, \ - '{0} not in {1} subject relations'.format(attr, eschema) + if attr not in eschema.subjrels: + raise KeyError('{0} not in {1} subject relations'.format(attr, eschema)) parts.append('X {attr} %({attr})s'.format(attr=attr)) rql = ', '.join(parts) diff -r 29dae4b0332a -r 50109859da43 cubicweb/test/unittest_req.py --- a/cubicweb/test/unittest_req.py Tue Apr 25 17:31:24 2017 +0200 +++ b/cubicweb/test/unittest_req.py Wed Apr 26 15:04:40 2017 +0200 @@ -148,12 +148,12 @@ self.assertEqual(len(users), 2) with self.assertRaisesRegexp( - AssertionError, '^chapeau not in CWUser subject relations$' + KeyError, "^'chapeau not in CWUser subject relations'$" ): req.find('CWUser', chapeau=u"melon") with self.assertRaisesRegexp( - AssertionError, '^buddy not in CWUser object relations$' + KeyError, "^'buddy not in CWUser object relations'$" ): req.find('CWUser', reverse_buddy=users[0])