[z3-checkins] r14466 - z3/Five/trunk/browser/tests

philikon at codespeak.net philikon at codespeak.net
Sun Jul 10 13:30:26 CEST 2005


Author: philikon
Date: Sun Jul 10 13:30:24 2005
New Revision: 14466

Modified:
   z3/Five/trunk/browser/tests/pages.txt
   z3/Five/trunk/browser/tests/test_security.py
Log:
move a low-level security test to pages doctest


Modified: z3/Five/trunk/browser/tests/pages.txt
==============================================================================
--- z3/Five/trunk/browser/tests/pages.txt	(original)
+++ z3/Five/trunk/browser/tests/pages.txt	Sun Jul 10 13:30:24 2005
@@ -172,6 +172,32 @@
   </html>
 
 
+Security
+--------
+
+Test security on a low level (functional pages test has high-level
+security tests).  Let's manually look up a protected view:
+
+  >>> from Products.Five.traversable import FakeRequest
+  >>> from zope.app import zapi
+  >>> request = FakeRequest()
+  >>> view = zapi.getView(self.folder.testoid, 'eagle.txt', request)
+
+It's protecting the object with the permission, and not the attribute,
+so we get ('',) instead of ('eagle',):
+
+  >>> getattr(view, '__ac_permissions__')
+  (('View management screens', ('',)),)
+
+Wrap into an acquisition so that imPermissionRole objects can be
+evaluated. __roles__ is a imPermissionRole object:
+
+  >>> view = view.__of__(self.folder.testoid)
+  >>> view_roles = getattr(view, '__roles__', None)
+  >>> view_roles
+  ('Manager',)
+
+
 Other
 -----
 

Modified: z3/Five/trunk/browser/tests/test_security.py
==============================================================================
--- z3/Five/trunk/browser/tests/test_security.py	(original)
+++ z3/Five/trunk/browser/tests/test_security.py	Sun Jul 10 13:30:24 2005
@@ -20,18 +20,14 @@
     execfile(os.path.join(sys.path[0], 'framework.py'))
 
 import unittest
-from Testing.ZopeTestCase import ZopeTestCase, FunctionalTestCase
-from Testing.ZopeTestCase import installProduct
+from Testing.ZopeTestCase import ZopeTestCase, installProduct
 installProduct('Five')
 installProduct('PythonScripts')  # for RestrictedPythonTestCase
 
-from zope.app import zapi
 import Products.Five.browser.tests
 from Products.Five import zcml, BrowserView
-from Products.Five.traversable import FakeRequest
 from Products.Five.testing import RestrictedPythonTestCase
 from Products.Five.testing import manage_addFiveTraversableFolder
-from Products.Five.tests.test_security import Dummy1
 from Products.Five.tests.simplecontent import manage_addSimpleContent
 
 view_names = [
@@ -47,13 +43,6 @@
     'public_template_page',
     'public_template_class_page']
 
-class DummyView(BrowserView):
-    """A dummy view"""
-
-    def foo(self):
-        """A foo"""
-        return 'A foo view'
-
 class SecurityTest(RestrictedPythonTestCase):
 
     def afterSetUp(self):
@@ -86,47 +75,9 @@
         self.check(
             'context.restrictedTraverse("testoid/eagle.method").eagle()')
 
-class PageSecurityTest(ZopeTestCase):
-
-    def test_page_security(self):
-        decl = """
-        <configure xmlns="http://namespaces.zope.org/zope"
-            xmlns:browser="http://namespaces.zope.org/browser">
-
-          <browser:page
-             for="Products.Five.tests.test_security.IDummy"
-             class="Products.Five.browser.tests.test_security.DummyView"
-             attribute="foo"
-             name="test_page_security"
-             permission="zope2.ViewManagementScreens"
-           />
-
-        </configure>
-        """
-        zcml.load_string(decl)
-        request = FakeRequest()
-        # Wrap into an acquisition so that imPermissionRole objects
-        # can be evaluated.
-        view = zapi.getView(Dummy1(), 'test_page_security', request)
-
-        ac = getattr(view, '__ac_permissions__')
-        # It's protecting the object with the permission, and not the
-        # attribute, so we get ('',) instead of ('foo',).
-        ex_ac = (('View management screens', ('',)),)
-        self.assertEquals(ac, ex_ac)
-
-        # Wrap into an acquisition so that imPermissionRole objects
-        # can be evaluated. __roles__ is a imPermissionRole object.
-        view = view.__of__(self.folder)
-        view_roles = getattr(view, '__roles__', None)
-        self.failIf(view_roles is None)
-        self.failIf(view_roles == ())
-        self.assertEquals(view_roles, ('Manager',))
-
 def test_suite():
     suite = unittest.TestSuite()
     suite.addTest(unittest.makeSuite(SecurityTest))
-    suite.addTest(unittest.makeSuite(PageSecurityTest))
     return suite
 
 if __name__ == '__main__':


More information about the z3-checkins mailing list