[Checkins] SVN: grokcore.view/trunk/s Move some view-related ftests
over to grokcore.view. They break because our
Philipp von Weitershausen
philikon at philikon.de
Tue Jul 22 08:54:10 EDT 2008
Log message for revision 88683:
Move some view-related ftests over to grokcore.view. They break because our
ViewSecurityGrokker doesn't do enough security declarations yet.
Changed:
U grokcore.view/trunk/setup.py
A grokcore.view/trunk/src/grokcore/view/ftesting.zcml
A grokcore.view/trunk/src/grokcore/view/ftests/
A grokcore.view/trunk/src/grokcore/view/ftests/__init__.py
A grokcore.view/trunk/src/grokcore/view/ftests/test_functional.py
A grokcore.view/trunk/src/grokcore/view/ftests/view/
U grokcore.view/trunk/src/grokcore/view/ftests/view/argument.py
U grokcore.view/trunk/src/grokcore/view/ftests/view/index.py
U grokcore.view/trunk/src/grokcore/view/ftests/view/layers.py
U grokcore.view/trunk/src/grokcore/view/ftests/view/macros.py
U grokcore.view/trunk/src/grokcore/view/ftests/view/view.py
-=-
Modified: grokcore.view/trunk/setup.py
===================================================================
--- grokcore.view/trunk/setup.py 2008-07-22 12:47:02 UTC (rev 88682)
+++ grokcore.view/trunk/setup.py 2008-07-22 12:54:10 UTC (rev 88683)
@@ -34,6 +34,11 @@
'zope.traversing',
'zope.schema',
'zope.formlib',
+ # for ftests:
+ # TODO move these to extra_requires?
+ 'zope.testbrowser',
+ 'zope.securitypolicy',
+ 'zope.app.zcmlfiles',
],
entry_points="""
# -*- Entry points: -*-
Added: grokcore.view/trunk/src/grokcore/view/ftesting.zcml
===================================================================
--- grokcore.view/trunk/src/grokcore/view/ftesting.zcml (rev 0)
+++ grokcore.view/trunk/src/grokcore/view/ftesting.zcml 2008-07-22 12:54:10 UTC (rev 88683)
@@ -0,0 +1,58 @@
+<configure
+ xmlns="http://namespaces.zope.org/zope"
+ xmlns:grok="http://namespaces.zope.org/grok"
+ xmlns:browser="http://namespaces.zope.org/browser"
+ i18n_domain="grokcore.view"
+ package="grokcore.view"
+ >
+
+ <!--include package="zope.component" file="meta.zcml" />
+ <include package="zope.app.component" file="meta.zcml" />
+ <include package="zope.app.security" file="meta.zcml" />
+ <include package="zope.app.publisher" file="meta.zcml" />
+ <include package="zope.app.publication" file="meta.zcml" /-->
+
+ <include package="zope.app.zcmlfiles" file="meta.zcml" />
+ <include package="zope.securitypolicy" file="meta.zcml" />
+ <include package="grokcore.component" file="meta.zcml" />
+ <include package="grokcore.view" file="meta.zcml" />
+
+ <!--include package="zope.app.security" />
+ <include package="zope.app.appsetup" />
+ <include package="zope.app.container" />
+ <include package="zope.app.folder" />
+ <include package="zope.app.publication" /-->
+
+ <include package="zope.app.zcmlfiles" />
+ <grok:grok package="grokcore.view.ftests" />
+
+ <securityPolicy
+ component="zope.securitypolicy.zopepolicy.ZopeSecurityPolicy"
+ />
+
+ <browser:defaultView
+ for="grokcore.component.interfaces.IContext"
+ name="index"
+ />
+
+ <unauthenticatedPrincipal
+ id="zope.anybody"
+ title="Unauthenticated User"
+ />
+ <grant
+ permission="zope.View"
+ principal="zope.anybody"
+ />
+
+ <principal
+ id="zope.mgr"
+ title="Manager"
+ login="mgr"
+ password="mgrpw"
+ />
+
+ <role id="zope.Manager" title="Site Manager" />
+ <grantAll role="zope.Manager" />
+ <grant role="zope.Manager" principal="zope.mgr" />
+
+</configure>
Property changes on: grokcore.view/trunk/src/grokcore/view/ftesting.zcml
___________________________________________________________________
Name: svn:eol-style
+ native
Added: grokcore.view/trunk/src/grokcore/view/ftests/__init__.py
===================================================================
--- grokcore.view/trunk/src/grokcore/view/ftests/__init__.py (rev 0)
+++ grokcore.view/trunk/src/grokcore/view/ftests/__init__.py 2008-07-22 12:54:10 UTC (rev 88683)
@@ -0,0 +1 @@
+# make this directory a package
Property changes on: grokcore.view/trunk/src/grokcore/view/ftests/__init__.py
___________________________________________________________________
Name: svn:eol-style
+ native
Copied: grokcore.view/trunk/src/grokcore/view/ftests/test_functional.py (from rev 88673, grok/branches/grokcore.xxx/src/grok/ftests/test_grok_functional.py)
===================================================================
--- grokcore.view/trunk/src/grokcore/view/ftests/test_functional.py (rev 0)
+++ grokcore.view/trunk/src/grokcore/view/ftests/test_functional.py 2008-07-22 12:54:10 UTC (rev 88683)
@@ -0,0 +1,56 @@
+import re
+import unittest
+import grokcore.view
+import os.path
+
+from pkg_resources import resource_listdir
+from zope.testing import doctest, renormalizing
+from zope.app.testing.functional import (HTTPCaller, getRootFolder,
+ FunctionalTestSetup, sync, ZCMLLayer)
+
+ftesting_zcml = os.path.join(os.path.dirname(grokcore.view.__file__),
+ 'ftesting.zcml')
+FunctionalLayer = ZCMLLayer(ftesting_zcml, __name__, 'FunctionalLayer',
+ allow_teardown=True)
+
+def setUp(test):
+ FunctionalTestSetup().setUp()
+
+def tearDown(test):
+ FunctionalTestSetup().tearDown()
+
+checker = renormalizing.RENormalizing([
+ # Accommodate to exception wrapping in newer versions of mechanize
+ (re.compile(r'httperror_seek_wrapper:', re.M), 'HTTPError:'),
+ ])
+
+def suiteFromPackage(name):
+ files = resource_listdir(__name__, name)
+ suite = unittest.TestSuite()
+ for filename in files:
+ if not filename.endswith('.py'):
+ continue
+ if filename == '__init__.py':
+ continue
+
+ dottedname = 'grokcore.view.ftests.%s.%s' % (name, filename[:-3])
+ test = doctest.DocTestSuite(
+ dottedname, setUp=setUp, tearDown=tearDown,
+ checker=checker,
+ extraglobs=dict(http=HTTPCaller(),
+ getRootFolder=getRootFolder,
+ sync=sync),
+ optionflags=(doctest.ELLIPSIS+
+ doctest.NORMALIZE_WHITESPACE+
+ doctest.REPORT_NDIFF)
+ )
+ test.layer = FunctionalLayer
+
+ suite.addTest(test)
+ return suite
+
+def test_suite():
+ suite = unittest.TestSuite()
+ for name in ['view']:
+ suite.addTest(suiteFromPackage(name))
+ return suite
Copied: grokcore.view/trunk/src/grokcore/view/ftests/view (from rev 88673, grok/branches/grokcore.xxx/src/grok/ftests/view)
Modified: grokcore.view/trunk/src/grokcore/view/ftests/view/argument.py
===================================================================
--- grok/branches/grokcore.xxx/src/grok/ftests/view/argument.py 2008-07-22 10:04:04 UTC (rev 88673)
+++ grokcore.view/trunk/src/grokcore/view/ftests/view/argument.py 2008-07-22 12:54:10 UTC (rev 88683)
@@ -47,9 +47,9 @@
TypeError: Missing argument to update(): message
"""
-import grok
+import grokcore.view as grok
-class Mammoth(grok.Model):
+class Mammoth(grok.Context):
pass
class RenderWithArguments(grok.View):
Modified: grokcore.view/trunk/src/grokcore/view/ftests/view/index.py
===================================================================
--- grok/branches/grokcore.xxx/src/grok/ftests/view/index.py 2008-07-22 10:04:04 UTC (rev 88673)
+++ grokcore.view/trunk/src/grokcore/view/ftests/view/index.py 2008-07-22 12:54:10 UTC (rev 88683)
@@ -17,9 +17,9 @@
</html>
"""
-import grok
+import grokcore.view as grok
-class Mammoth(grok.Model):
+class Mammoth(grok.Context):
teeth = u"Blue"
class Index(grok.View):
Modified: grokcore.view/trunk/src/grokcore/view/ftests/view/layers.py
===================================================================
--- grok/branches/grokcore.xxx/src/grok/ftests/view/layers.py 2008-07-22 10:04:04 UTC (rev 88673)
+++ grokcore.view/trunk/src/grokcore/view/ftests/view/layers.py 2008-07-22 12:54:10 UTC (rev 88683)
@@ -21,11 +21,9 @@
Awesome
"""
-import grok
+import grokcore.view as grok
from zope.app.basicskin import IBasicSkin
-from zope.publisher.interfaces.browser import IBrowserRequest
from zope.app.rotterdam import rotterdam
-from zope import interface
grok.layer(IBasicSkin)
@@ -35,7 +33,7 @@
class MySkin(grok.Skin):
grok.layer(MySkinLayer)
-class Mammoth(grok.Model):
+class Mammoth(grok.Context):
pass
class CaveDrawings(grok.View):
Modified: grokcore.view/trunk/src/grokcore/view/ftests/view/macros.py
===================================================================
--- grok/branches/grokcore.xxx/src/grok/ftests/view/macros.py 2008-07-22 10:04:04 UTC (rev 88673)
+++ grokcore.view/trunk/src/grokcore/view/ftests/view/macros.py 2008-07-22 12:54:10 UTC (rev 88683)
@@ -32,7 +32,7 @@
You can skip the "macro" part of the macro call, but this is deprecated:
- >>> from grok.testing import warn
+ >>> from grokcore.view.testing import warn
>>> import warnings
>>> saved_warn = warnings.warn
>>> warnings.warn = warn
@@ -45,9 +45,9 @@
>>> warnings.warn = saved_warn
"""
-import grok
+import grokcore.view as grok
-class Mammoth(grok.Model):
+class Mammoth(grok.Context):
pass
class DancingHall(grok.View):
Modified: grokcore.view/trunk/src/grokcore/view/ftests/view/view.py
===================================================================
--- grok/branches/grokcore.xxx/src/grok/ftests/view/view.py 2008-07-22 10:04:04 UTC (rev 88673)
+++ grokcore.view/trunk/src/grokcore/view/ftests/view/view.py 2008-07-22 12:54:10 UTC (rev 88683)
@@ -13,9 +13,9 @@
</html>
"""
-import grok
+import grokcore.view as grok
-class Mammoth(grok.Model):
+class Mammoth(grok.Context):
pass
class Painting(grok.View):
More information about the Checkins
mailing list