[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