[z3-checkins] r5191 - in z3/Five/trunk: . tests tests/products/FiveTest

dreamcatcher at codespeak.net dreamcatcher at codespeak.net
Mon Jun 21 02:54:22 MEST 2004


Author: dreamcatcher
Date: Mon Jun 21 02:54:21 2004
New Revision: 5191

Modified:
   z3/Five/trunk/browser.py
   z3/Five/trunk/tests/products/FiveTest/browser.py
   z3/Five/trunk/tests/products/FiveTest/configure.zcml
   z3/Five/trunk/tests/test_five.py
   z3/Five/trunk/tests/test_security.py
Log:
Fixed (uh, not quite) broken tests.

Modified: z3/Five/trunk/browser.py
==============================================================================
--- z3/Five/trunk/browser.py	(original)
+++ z3/Five/trunk/browser.py	Mon Jun 21 02:54:21 2004
@@ -20,13 +20,16 @@
         else:
             attr = self.__page_attribute__
         meth = getattr(self, attr)
-        security_manager = getSecurityManager()
-        if not security_manager.validate(meth, self, attr, meth):
-            raise Unauthorized
         if attr == '__call__':
             raise AttributeError("__call__")
         elif attr == 'index':
             return meth(self, *args, **kw)
+        # XXX for some reason, validating 'index' doesn't work
+        # as expected. I suspect that its because it's a
+        # ViewPageTemplateFile.
+        security_manager = getSecurityManager()
+        if not security_manager.validate(meth, self, attr, meth):
+            raise Unauthorized
         return meth(*args, **kw)
 
 InitializeClass(BrowserView)

Modified: z3/Five/trunk/tests/products/FiveTest/browser.py
==============================================================================
--- z3/Five/trunk/tests/products/FiveTest/browser.py	(original)
+++ z3/Five/trunk/tests/products/FiveTest/browser.py	Mon Jun 21 02:54:21 2004
@@ -1,14 +1,9 @@
-from AccessControl import ClassSecurityInfo
-from Globals import InitializeClass
 from Products.Five.api import BrowserView
 
 class SimpleContentView(BrowserView):
     """More docstring. Please Zope"""
-    security = ClassSecurityInfo()
 
-    security.declareProtected('View Management Screens', 'eagle')
     def eagle(self):
         """Docstring"""
         return "The eagle has landed"
 
-InitializeClass(SimpleContentView)

Modified: z3/Five/trunk/tests/products/FiveTest/configure.zcml
==============================================================================
--- z3/Five/trunk/tests/products/FiveTest/configure.zcml	(original)
+++ z3/Five/trunk/tests/products/FiveTest/configure.zcml	Mon Jun 21 02:54:21 2004
@@ -1,16 +1,17 @@
 <configure xmlns="http://namespaces.zope.org/zope"
            xmlns:five="http://namespaces.zope.org/five">
 
-  <adapter 
+  <adapter
     for=".interfaces.IAdaptable"
     provides=".interfaces.IAdapted"
-    factory=".classes.Adapter" /> 
-  
-  <five:page 
+    factory=".classes.Adapter" />
+
+  <five:page
     for=".interfaces.ISimpleContent"
     class=".browser.SimpleContentView"
     attribute="eagle"
     name="eagle.txt"
+    permission="zope.ViewManagementScreens"
     />
 
   <five:page
@@ -18,24 +19,28 @@
     class=".browser.SimpleContentView"
     template="falcon.pt"
     name="falcon.html"
+    permission="zope.ViewManagementScreens"
     />
 
   <five:page
     for=".interfaces.ISimpleContent"
     template="owl.pt"
     name="owl.html"
+    permission="zope.ViewManagementScreens"
     />
 
   <five:page
     for=".interfaces.ISimpleContent"
     template="flamingo.pt"
     name="flamingo.html"
+    permission="zope.ViewManagementScreens"
     />
 
   <five:page
     for=".interfaces.ISimpleContent"
     template="flamingo2.pt"
     name="flamingo2.html"
+    permission="zope.ViewManagementScreens"
     />
 
   <five:page
@@ -43,6 +48,7 @@
     class=".browser.SimpleContentView"
     template="condor.pt"
     name="condor.html"
+    permission="zope.ViewManagementScreens"
     />
 
 </configure>

Modified: z3/Five/trunk/tests/test_five.py
==============================================================================
--- z3/Five/trunk/tests/test_five.py	(original)
+++ z3/Five/trunk/tests/test_five.py	Mon Jun 21 02:54:21 2004
@@ -30,8 +30,11 @@
 from Products.FiveTest.browser import SimpleContentView
 
 class FiveTestCase(ZopeTestCase.ZopeTestCase):
-    def beforeSetUp(self):
-        self.root = self._app()
+
+    def afterSetUp(self):
+        uf = self.folder.acl_users
+        uf._doAddUser('manager', 'r00t', ['Manager'], [])
+        self.login('manager')
 
     def test_adapters(self):
         obj = Adaptable()
@@ -48,48 +51,48 @@
             adapted.adaptedMethod())
 
     def test_attribute_view(self):
-        self.root.manage_addProduct['FiveTest'].manage_addSimpleContent(
+        self.folder.manage_addProduct['FiveTest'].manage_addSimpleContent(
             'testoid', 'Testoid')
-        test = self.root.testoid
-        view = self.root.unrestrictedTraverse('testoid/eagle.txt')
+        test = self.folder.testoid
+        view = self.folder.unrestrictedTraverse('testoid/eagle.txt')
         self.assert_(isinstance(view, SimpleContentView))
         self.assertEquals('The eagle has landed', view())
 
     def test_template_view(self):
-        self.root.manage_addProduct['FiveTest'].manage_addSimpleContent(
+        self.folder.manage_addProduct['FiveTest'].manage_addSimpleContent(
             'testoid', 'Testoid')
-        view = self.root.unrestrictedTraverse('testoid/falcon.html')
+        view = self.folder.unrestrictedTraverse('testoid/falcon.html')
         self.assert_(isinstance(view, SimpleContentView))
         self.assertEquals(u'<p>The falcon has taken flight</p>\n', view())
 
     def test_template_view_without_class(self):
-        self.root.manage_addProduct['FiveTest'].manage_addSimpleContent(
+        self.folder.manage_addProduct['FiveTest'].manage_addSimpleContent(
             'testoid', 'Testoid')
-        view = self.root.unrestrictedTraverse('testoid/owl.html')
+        view = self.folder.unrestrictedTraverse('testoid/owl.html')
         self.assertEquals(u'<p>2</p>\n', view())
 
     def test_template_view_context(self):
-        self.root.manage_addProduct['FiveTest'].manage_addSimpleContent(
+        self.folder.manage_addProduct['FiveTest'].manage_addSimpleContent(
             'testoid', 'Testoid')
-        view = self.root.unrestrictedTraverse('testoid/flamingo.html')
+        view = self.folder.unrestrictedTraverse('testoid/flamingo.html')
         self.assertEquals(u'<p>Hello world</p>\n', view())
 
     def test_template_view_context_path(self):
-        self.root.manage_addProduct['FiveTest'].manage_addSimpleContent(
+        self.folder.manage_addProduct['FiveTest'].manage_addSimpleContent(
             'testoid', 'Testoid')
-        view = self.root.unrestrictedTraverse('testoid/flamingo2.html')
+        view = self.folder.unrestrictedTraverse('testoid/flamingo2.html')
         self.assertEquals(u'<p>Hello world</p>\n', view())
 
     def test_view_backwards_compatibility(self):
-        self.root.manage_addProduct['FiveTest'].manage_addSimpleContent(
+        self.folder.manage_addProduct['FiveTest'].manage_addSimpleContent(
             'testoid', 'Testoid')
-        old_view = self.root.unrestrictedTraverse('testoid/direct')
+        old_view = self.folder.unrestrictedTraverse('testoid/direct')
         self.assertEquals('Direct traversal worked', old_view())
 
     def test_zpt_things(self):
-        self.root.manage_addProduct['FiveTest'].manage_addSimpleContent(
+        self.folder.manage_addProduct['FiveTest'].manage_addSimpleContent(
             'testoid', 'Testoid')
-        view = self.root.unrestrictedTraverse('testoid/condor.html')
+        view = self.folder.unrestrictedTraverse('testoid/condor.html')
         expected = """\
 <p>Hello world</p>
 <p>The eagle has landed</p>

Modified: z3/Five/trunk/tests/test_security.py
==============================================================================
--- z3/Five/trunk/tests/test_security.py	(original)
+++ z3/Five/trunk/tests/test_security.py	Mon Jun 21 02:54:21 2004
@@ -64,13 +64,14 @@
 
     def setUp(self):
         super(PageSecurityTestCase, self).setUp()
-        self.dummy1 = Dummy1
+        zcml.reset()
         zcml.initialize()
+        self.dummy1 = Dummy1
 
     def tearDown(self):
         super(PageSecurityTestCase, self).tearDown()
-        clearSecurityInfo(self.dummy1)
         zcml.reset()
+        clearSecurityInfo(self.dummy1)
 
     def test_page_security(self):
         self.failIf(hasattr(self.dummy1, '__ac_permissions__'))
@@ -105,15 +106,16 @@
 
     def setUp(self):
         super(SecurityEquivalenceTestCase, self).setUp()
+        zcml.reset()
+        zcml.initialize()
         self.dummy1 = Dummy1
         self.dummy2 = Dummy2
-        zcml.initialize()
 
     def tearDown(self):
+        zcml.reset()
         super(SecurityEquivalenceTestCase, self).tearDown()
         clearSecurityInfo(self.dummy1)
         clearSecurityInfo(self.dummy2)
-        zcml.reset()
 
     def test_equivalence(self):
         self.failIf(hasattr(self.dummy1, '__ac_permissions__'))


More information about the z3-checkins mailing list