devtools/test/unittest_testlib.py
changeset 10646 45671fb330f5
parent 10468 3f27669634d2
parent 10639 1ed205146ee2
child 10651 9ca33768473c
child 10957 2fdf67ef3341
--- a/devtools/test/unittest_testlib.py	Tue Sep 29 12:09:04 2015 +0200
+++ b/devtools/test/unittest_testlib.py	Fri Oct 09 17:52:14 2015 +0200
@@ -196,6 +196,18 @@
             self.assertTrue(rdef.permissions['add'])
         self.assertTrue(rdef.permissions['read'], ())
 
+    def test_temporary_permissions_rdef_with_exception(self):
+        rdef = self.schema['CWUser'].rdef('in_group')
+        try:
+            with self.temporary_permissions((rdef, {'read': ()})):
+                self.assertEqual(rdef.permissions['read'], ())
+                self.assertTrue(rdef.permissions['add'])
+                raise ValueError('goto')
+        except ValueError:
+            self.assertTrue(rdef.permissions['read'], ())
+        else:
+            self.fail('exception was caught unexpectedly')
+
     def test_temporary_appobjects_registered(self):
 
         class AnAppobject(object):