[FIX] tests: make self.assertRaises() return the expected object
authorRaphael Collet <rco@openerp.com>
Mon, 17 Nov 2014 14:39:14 +0000 (15:39 +0100)
committerRaphael Collet <rco@openerp.com>
Mon, 17 Nov 2014 14:39:14 +0000 (15:39 +0100)
openerp/addons/base/tests/test_acl.py
openerp/tests/common.py

index 9f6be13..366a171 100644 (file)
@@ -111,10 +111,12 @@ class TestACL(common.TransactionCase):
         # accessing fields must no raise exceptions...
         part.name
         # ... except if they are restricted
-        with self.assertRaises(openerp.exceptions.AccessError):
+        with self.assertRaises(openerp.osv.orm.except_orm) as cm:
             with mute_logger('openerp.models'):
                 part.email
 
+        self.assertEqual(cm.exception.args[0], 'AccessError')
+
 if __name__ == '__main__':
     unittest2.main()
 
index db84855..f058436 100644 (file)
@@ -108,9 +108,9 @@ class BaseCase(unittest2.TestCase):
     @contextmanager
     def _assertRaises(self, exception):
         """ Context manager that clears the environment upon failure. """
-        with super(BaseCase, self).assertRaises(exception):
+        with super(BaseCase, self).assertRaises(exception) as cm:
             with self.env.clear_upon_failure():
-                yield
+                yield cm
 
     def assertRaises(self, exception, func=None, *args, **kwargs):
         if func: