[Checkins] SVN: AccessControl/trunk/src/AccessControl/tests/testClassSecurityInfo.py add an explicit test for preserving the acquisition context inside decorated methods

Hano Schlichting cvs-admin at zope.org
Sun May 20 15:12:50 UTC 2012


Log message for revision 126401:
  add an explicit test for preserving the acquisition context inside decorated methods
  

Changed:
  U   AccessControl/trunk/src/AccessControl/tests/testClassSecurityInfo.py

-=-
Modified: AccessControl/trunk/src/AccessControl/tests/testClassSecurityInfo.py
===================================================================
--- AccessControl/trunk/src/AccessControl/tests/testClassSecurityInfo.py	2012-05-20 14:58:39 UTC (rev 126400)
+++ AccessControl/trunk/src/AccessControl/tests/testClassSecurityInfo.py	2012-05-20 15:12:47 UTC (rev 126401)
@@ -130,3 +130,32 @@
         # Do class initialization.
         with self.assertRaisesRegexp(AssertionError, 'has 2 non-decorator'):
             InitializeClass(Test)
+
+    def test_aq_context_in_decorators(self):
+        from Acquisition import Implicit
+        info = self._getTargetClass()
+
+        class A(Implicit):
+            security = info()
+            a = 1
+
+            @security.public
+            def public(self):
+                return self.a
+
+            @security.private
+            def private(self):
+                # make sure the acquisition context is still intact
+                return self.b
+
+        class B(Implicit):
+            security = info()
+            b = 2
+
+        a = A()
+        b = B()
+        a = a.__of__(b)
+
+        self.assertEqual(a.b, 2)
+        self.assertEqual(a.public(), 1)
+        self.assertEqual(a.private(), 2)



More information about the checkins mailing list