Re: [Zope-dev] testing problem with path expressions in page templates
Marius Gedminas wrote: What adapter might that be and what's the right way to get it registered in a unit test? DefaultTraversable, I think, and from zope.app.testing import setup setup.setUpTraversal() Various other features need various other components, e.g. if your template tries to use @@absolute_url, in addition to the above, you'll need provideAdapter(zope.traversing.namespace.view, adapts=(None, None), provides=ITraversable, name='view') similarly for resources you do something like ztapi.provideView(Interface, Interface, ITraversable, 'resource', zope.traversing.namespace.resource) ztapi.browserResource('style.css', ResourceStub) and let's not even start talking about forms and widgets. I'm not sure rendering page templates in unit tests is worth the pain. Actually, it wasn't that bad: from Products.Five import zcml class Tests(unittest.TestCase): def setUp(self): cleanup.cleanUp() zcml._initialized = False zcml.load_site() def tearDown(self): cleanup.cleanUp() cheers, Chris -- Simplistix - Content Management, Batch Processing Python Consulting - http://www.simplistix.co.uk ___ Zope-Dev maillist - Zope-Dev@zope.org https://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - https://mail.zope.org/mailman/listinfo/zope-announce https://mail.zope.org/mailman/listinfo/zope )
[Zope-dev] testing problem with path expressions in page templates
Hi All, When trying to test a template in a unit test, I get the following exception: - Expression: PathExpr standard:u'options/myobject/SomeProperty' ... File Zope2-2.12.7-py2.6-macosx-10.3-fat.egg/Products/PageTemplates/Expressions.py, line 79, in boboAwareZopeTraverse request=request) File zope.traversing-3.7.1-py2.6.egg/zope/traversing/adapters.py, line 136, in traversePathElement raise LocationError('No traversable adapter found', obj) - __traceback_info__: ({'content': MyObject, 'args': ()}, 'content') LocationError: ('No traversable adapter found', {'content': MyObject, 'args': ()}) 'SomeProperty' is, well, a property ;-) Now, the same template works just fine when used for real, so I figure some standard traversal adapter hasn't been registered when the test runs. What adapter might that be and what's the right way to get it registered in a unit test? cheers, Chris -- Simplistix - Content Management, Batch Processing Python Consulting - http://www.simplistix.co.uk ___ Zope-Dev maillist - Zope-Dev@zope.org https://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - https://mail.zope.org/mailman/listinfo/zope-announce https://mail.zope.org/mailman/listinfo/zope )
Re: [Zope-dev] testing problem with path expressions in page templates
On Fri, Aug 27, 2010 at 12:47:11AM +0100, Chris Withers wrote: When trying to test a template in a unit test, I get the following exception: ... LocationError: ('No traversable adapter found', {'content': MyObject, 'args': ()}) ... Now, the same template works just fine when used for real, so I figure some standard traversal adapter hasn't been registered when the test runs. What adapter might that be and what's the right way to get it registered in a unit test? DefaultTraversable, I think, and from zope.app.testing import setup setup.setUpTraversal() Various other features need various other components, e.g. if your template tries to use @@absolute_url, in addition to the above, you'll need provideAdapter(zope.traversing.namespace.view, adapts=(None, None), provides=ITraversable, name='view') similarly for resources you do something like ztapi.provideView(Interface, Interface, ITraversable, 'resource', zope.traversing.namespace.resource) ztapi.browserResource('style.css', ResourceStub) and let's not even start talking about forms and widgets. I'm not sure rendering page templates in unit tests is worth the pain. Marius Gedminas -- http://pov.lt/ -- Zope 3/BlueBream consulting and development signature.asc Description: Digital signature ___ Zope-Dev maillist - Zope-Dev@zope.org https://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - https://mail.zope.org/mailman/listinfo/zope-announce https://mail.zope.org/mailman/listinfo/zope )