[Checkins] SVN: zope.security/trunk/ Normalize testcase module-scope imports: test_protectclass.
Tres Seaver
cvs-admin at zope.org
Fri Dec 21 01:58:29 UTC 2012
Log message for revision 128827:
Normalize testcase module-scope imports: test_protectclass.
Changed:
_U zope.security/trunk/
U zope.security/trunk/src/zope/security/tests/test_protectclass.py
-=-
Modified: zope.security/trunk/src/zope/security/tests/test_protectclass.py
===================================================================
--- zope.security/trunk/src/zope/security/tests/test_protectclass.py 2012-12-21 01:58:28 UTC (rev 128826)
+++ zope.security/trunk/src/zope/security/tests/test_protectclass.py 2012-12-21 01:58:28 UTC (rev 128827)
@@ -14,30 +14,44 @@
"""Test handler for 'protectClass' directive
"""
import unittest
-from zope.interface import implementer
-from zope.security.checker import selectChecker
-from zope.security.permission import Permission
-from zope import component
-from zope.component.testing import PlacelessSetup
-from zope.security.interfaces import IPermission
-from zope.security.protectclass import protectName, protectLikeUnto
-from zope.security.protectclass import protectSetAttribute
-from zope.security.tests.modulehookup import TestModule, I
-NOTSET = []
+NOTSET = ()
P1 = "extravagant"
P2 = "paltry"
-class Test(PlacelessSetup, unittest.TestCase):
+class Test(unittest.TestCase):
def setUp(self):
- super(Test, self).setUp()
+ try:
+ from zope.component.testing import setUp
+ except ImportError:
+ pass
+ else:
+ setUp()
- component.provideUtility(Permission(P1), IPermission, P1)
- component.provideUtility(Permission(P2), IPermission, P2)
+ def tearDown(self):
+ from zope.security.tests.modulehookup import TestModule
+ TestModule.test_class = None
+ try:
+ from zope.component.testing import tearDown
+ except ImportError:
+ pass
+ else:
+ tearDown()
+ def _populateModule(self):
+ from zope.interface import implementer
+ from zope.component import provideUtility
+ from zope.security.permission import Permission
+ from zope.security.interfaces import IPermission
+ from zope.security.tests.modulehookup import I
+ from zope.security.tests.modulehookup import TestModule
+
+ provideUtility(Permission(P1), IPermission, P1)
+ provideUtility(Permission(P2), IPermission, P2)
+
class B(object):
def m1(self):
return "m1"
@@ -54,22 +68,21 @@
TestModule.test_base = B
TestModule.test_class = C
TestModule.test_instance = C()
- self.assertState()
+ self.assertState(TestModule)
+ return TestModule
- def tearDown(self):
- super(Test, self).tearDown()
- TestModule.test_class = None
-
- def assertState(self, m1P=NOTSET, m2P=NOTSET, m3P=NOTSET):
+ def assertState(self, module, m1P=NOTSET, m2P=NOTSET, m3P=NOTSET):
"Verify that class, instance, and methods have expected permissions."
- checker = selectChecker(TestModule.test_instance)
+ from zope.security.checker import selectChecker
+ checker = selectChecker(module.test_instance)
self.assertEqual(checker.permission_id('m1'), (m1P or None))
self.assertEqual(checker.permission_id('m2'), (m2P or None))
self.assertEqual(checker.permission_id('m3'), (m3P or None))
- def assertSetattrState(self, m1P=NOTSET, m2P=NOTSET, m3P=NOTSET):
+ def assertSetattrState(self, module, m1P=NOTSET, m2P=NOTSET, m3P=NOTSET):
"Verify that class, instance, and methods have expected permissions."
- checker = selectChecker(TestModule.test_instance)
+ from zope.security.checker import selectChecker
+ checker = selectChecker(module.test_instance)
self.assertEqual(checker.setattr_permission_id('m1'), (m1P or None))
self.assertEqual(checker.setattr_permission_id('m2'), (m2P or None))
self.assertEqual(checker.setattr_permission_id('m3'), (m3P or None))
@@ -78,45 +91,50 @@
# inherently sets the instances as well as the class attributes.
def testSimpleMethodsPlural(self):
- protectName(TestModule.test_class, 'm1', P1)
- protectName(TestModule.test_class, 'm3', P1)
- self.assertState(m1P=P1, m3P=P1)
+ from zope.security.protectclass import protectName
+ module = self._populateModule()
+ protectName(module.test_class, 'm1', P1)
+ protectName(module.test_class, 'm3', P1)
+ self.assertState(module, m1P=P1, m3P=P1)
def testLikeUntoOnly(self):
- protectName(TestModule.test_base, 'm1', P1)
- protectName(TestModule.test_base, 'm2', P1)
- protectSetAttribute(TestModule.test_base, 'm1', P1)
- protectSetAttribute(TestModule.test_base, 'm2', P1)
- protectLikeUnto(TestModule.test_class, TestModule.test_base)
+ from zope.security.protectclass import protectLikeUnto
+ from zope.security.protectclass import protectName
+ from zope.security.protectclass import protectSetAttribute
+ module = self._populateModule()
+ protectName(module.test_base, 'm1', P1)
+ protectName(module.test_base, 'm2', P1)
+ protectSetAttribute(module.test_base, 'm1', P1)
+ protectSetAttribute(module.test_base, 'm2', P1)
+ protectLikeUnto(module.test_class, module.test_base)
# m1 and m2 are in the interface, so should be set, and m3 should not:
- self.assertState(m1P=P1, m2P=P1)
- self.assertSetattrState(m1P=P1, m2P=P1)
+ self.assertState(module, m1P=P1, m2P=P1)
+ self.assertSetattrState(module, m1P=P1, m2P=P1)
- def assertSetattrState(self, m1P=NOTSET, m2P=NOTSET, m3P=NOTSET):
- "Verify that class, instance, and methods have expected permissions."
- checker = selectChecker(TestModule.test_instance)
- self.assertEqual(checker.setattr_permission_id('m1'), (m1P or None))
- self.assertEqual(checker.setattr_permission_id('m2'), (m2P or None))
- self.assertEqual(checker.setattr_permission_id("m3"), (m3P or None))
-
def testSetattr(self):
- protectSetAttribute(TestModule.test_class, 'm1', P1)
- protectSetAttribute(TestModule.test_class, 'm3', P1)
- self.assertSetattrState(m1P=P1, m3P=P1)
+ from zope.security.protectclass import protectSetAttribute
+ module = self._populateModule()
+ protectSetAttribute(module.test_class, 'm1', P1)
+ protectSetAttribute(module.test_class, 'm3', P1)
+ self.assertSetattrState(module, m1P=P1, m3P=P1)
def testLikeUntoAsDefault(self):
- protectName(TestModule.test_base, 'm1', P1)
- protectName(TestModule.test_base, 'm2', P1)
- protectSetAttribute(TestModule.test_base, 'm1', P1)
- protectSetAttribute(TestModule.test_base, 'm2', P1)
- protectLikeUnto(TestModule.test_class, TestModule.test_base)
- protectName(TestModule.test_class, 'm2', P2)
- protectName(TestModule.test_class, 'm3', P2)
- protectSetAttribute(TestModule.test_class, 'm2', P2)
- protectSetAttribute(TestModule.test_class, 'm3', P2)
+ from zope.security.protectclass import protectLikeUnto
+ from zope.security.protectclass import protectName
+ from zope.security.protectclass import protectSetAttribute
+ module = self._populateModule()
+ protectName(module.test_base, 'm1', P1)
+ protectName(module.test_base, 'm2', P1)
+ protectSetAttribute(module.test_base, 'm1', P1)
+ protectSetAttribute(module.test_base, 'm2', P1)
+ protectLikeUnto(module.test_class, module.test_base)
+ protectName(module.test_class, 'm2', P2)
+ protectName(module.test_class, 'm3', P2)
+ protectSetAttribute(module.test_class, 'm2', P2)
+ protectSetAttribute(module.test_class, 'm3', P2)
# m1 and m2 are in the interface, so should be set, and m3 should not:
- self.assertState(m1P=P1, m2P=P2, m3P=P2)
- self.assertSetattrState(m1P=P1, m2P=P2, m3P=P2)
+ self.assertState(module, m1P=P1, m2P=P2, m3P=P2)
+ self.assertSetattrState(module, m1P=P1, m2P=P2, m3P=P2)
def test_suite():
loader=unittest.TestLoader()
More information about the checkins
mailing list