[Checkins] SVN: PluginRegistry/trunk/tests/test_exportimport.py Fix test breakage on Zope 2.10.

Tres Seaver tseaver at palladion.com
Tue Apr 24 14:13:38 EDT 2007


Log message for revision 74713:
  Fix test breakage on Zope 2.10.

Changed:
  U   PluginRegistry/trunk/tests/test_exportimport.py

-=-
Modified: PluginRegistry/trunk/tests/test_exportimport.py
===================================================================
--- PluginRegistry/trunk/tests/test_exportimport.py	2007-04-24 17:06:10 UTC (rev 74712)
+++ PluginRegistry/trunk/tests/test_exportimport.py	2007-04-24 18:13:38 UTC (rev 74713)
@@ -33,7 +33,17 @@
     from Products.GenericSetup.utils import _getDottedName
 
     from zope.interface import Interface
+    from zope.app.testing import ztapi
+
     try:
+        from zope.traversing.interfaces import ITraversable
+        from zope.traversing.interfaces import TraversalError
+    except ImportError:
+        # BBB for Zope 2.9
+        from zope.app.traversing.interfaces import ITraversable
+        from zope.app.traversing.interfaces import TraversalError
+
+    try:
         from zope.app.testing.placelesssetup import PlacelessSetup
     except ImportError:
         # BBB for Zope 2.8
@@ -134,6 +144,7 @@
             return PluginRegistryExporter
 
         def test_empty(self):
+            ztapi.provideAdapter(None, ITraversable, AttrItemTraverser)
 
             app, registry = self._initRegistry()
             exporter = self._makeOne(registry).__of__(registry)
@@ -142,6 +153,8 @@
             self._compareDOM(xml, _EMPTY_PLUGINREGISTRY_EXPORT)
 
         def test_normal_no_plugins(self):
+            ztapi.provideAdapter(None, ITraversable, AttrItemTraverser)
+
             app, registry = self._initRegistry(
                                     plugin_type_info=_PLUGIN_TYPE_INFO)
             exporter = self._makeOne(registry).__of__(registry)
@@ -150,6 +163,8 @@
             self._compareDOM(xml, _NO_PLUGINS_PLUGINREGISTRY_EXPORT)
 
         def test_normal_with_plugins(self):
+            ztapi.provideAdapter(None, ITraversable, AttrItemTraverser)
+
             app, registry = self._initRegistry(
                                     plugin_type_info=_PLUGIN_TYPE_INFO,
                                     plugins={IFoo: ('foo_plugin_1',
@@ -165,6 +180,7 @@
         def test_empty(self):
             from Products.PluginRegistry.exportimport \
                 import exportPluginRegistry
+            ztapi.provideAdapter(None, ITraversable, AttrItemTraverser)
 
             app, registry = self._initRegistry()
             context = DummyExportContext(app)
@@ -179,6 +195,7 @@
         def test_normal_no_plugins(self):
             from Products.PluginRegistry.exportimport \
                 import exportPluginRegistry
+            ztapi.provideAdapter(None, ITraversable, AttrItemTraverser)
 
             app, registry = self._initRegistry(
                                     plugin_type_info=_PLUGIN_TYPE_INFO)
@@ -194,6 +211,7 @@
         def test_normal_with_plugins(self):
             from Products.PluginRegistry.exportimport \
                 import exportPluginRegistry
+            ztapi.provideAdapter(None, ITraversable, AttrItemTraverser)
 
             app, registry = self._initRegistry(
                                     plugin_type_info=_PLUGIN_TYPE_INFO,
@@ -410,6 +428,23 @@
 
             self.assertEqual(len(registry.listPlugins(IBar)), 0)
 
+    class AttrItemTraverser:
+        _marker = object()
+
+        def __init__(self, context):
+            self.context = context
+
+        def traverse(self, name, furtherPath):
+            result = getattr(self.context, name, self._marker)
+            if result is self._marker:
+                try:
+                    result = self.context.get(name, self._marker)
+                except AttributeError:
+                    pass
+            if result is self._marker:
+                raise TraversalError(name)
+            return result
+
     def test_suite():
         return unittest.TestSuite((
             unittest.makeSuite( PluginRegistryExporterTests ),



More information about the Checkins mailing list