[Checkins] SVN: zope.intid/trunk/ Removed ``zope.app.testing`` dependency

Nikolay Kim fafhrd91 at gmail.com
Sun Dec 27 01:03:03 EST 2009


Log message for revision 107139:
  Removed ``zope.app.testing`` dependency

Changed:
  U   zope.intid/trunk/CHANGES.txt
  U   zope.intid/trunk/setup.py
  U   zope.intid/trunk/src/zope/intid/interfaces.py
  U   zope.intid/trunk/src/zope/intid/tests.py

-=-
Modified: zope.intid/trunk/CHANGES.txt
===================================================================
--- zope.intid/trunk/CHANGES.txt	2009-12-27 04:42:25 UTC (rev 107138)
+++ zope.intid/trunk/CHANGES.txt	2009-12-27 06:03:02 UTC (rev 107139)
@@ -7,6 +7,9 @@
 
 - Use the zope.component API in favor of ztapi.
 
+- Removed ``zope.app.testing`` dependency
+
+
 3.7.1 (2009-05-18)
 ------------------
 

Modified: zope.intid/trunk/setup.py
===================================================================
--- zope.intid/trunk/setup.py	2009-12-27 04:42:25 UTC (rev 107138)
+++ zope.intid/trunk/setup.py	2009-12-27 06:03:02 UTC (rev 107139)
@@ -52,8 +52,10 @@
       packages=find_packages('src'),
       package_dir = {'': 'src'},
       namespace_packages=['zope'],
-      extras_require = dict(test=['zope.app.testing',
-                                  'zope.site']),
+      extras_require = dict(test=['zope.testing',
+                                  'zope.site',
+                                  'zope.traversing',
+                                  'zope.container',]),
       install_requires = ['setuptools',
                           'ZODB3',
                           'zope.lifecycleevent>=3.5.2',

Modified: zope.intid/trunk/src/zope/intid/interfaces.py
===================================================================
--- zope.intid/trunk/src/zope/intid/interfaces.py	2009-12-27 04:42:25 UTC (rev 107138)
+++ zope.intid/trunk/src/zope/intid/interfaces.py	2009-12-27 06:03:02 UTC (rev 107139)
@@ -98,7 +98,7 @@
     The event gets sent when an object is registered in a
     unique id utility.
     """
-    
+
     idmap = Attribute("The dictionary that holds an (utility -> id) mapping of created ids")
 
 

Modified: zope.intid/trunk/src/zope/intid/tests.py
===================================================================
--- zope.intid/trunk/src/zope/intid/tests.py	2009-12-27 04:42:25 UTC (rev 107138)
+++ zope.intid/trunk/src/zope/intid/tests.py	2009-12-27 06:03:02 UTC (rev 107139)
@@ -20,22 +20,54 @@
 import BTrees
 from persistent import Persistent
 from persistent.interfaces import IPersistent
-from zope.app.testing import setup
 from ZODB.interfaces import IConnection
 from zope.component import getSiteManager
 from zope.component import provideAdapter
 from zope.component import provideHandler
-from zope.interface import implements
+from zope.component import testing, eventtesting
+from zope.component.interfaces import ISite, IComponentLookup
+from zope.interface import implements, Interface
 from zope.interface.verify import verifyObject
 from zope.keyreference.persistent import KeyReferenceToPersistent
 from zope.keyreference.persistent import connectionOfPersistent
 from zope.keyreference.interfaces import IKeyReference
 from zope.location.interfaces import ILocation
-from zope.site.hooks import setSite
+from zope.site.hooks import setSite, setHooks, resetHooks
+from zope.site.folder import rootFolder
+from zope.site.site import SiteManagerAdapter, LocalSiteManager
+from zope.traversing import api
+from zope.traversing.testing import setUp as traversingSetUp
+from zope.traversing.interfaces import ITraversable
+from zope.container.traversal import ContainerTraversable
+from zope.container.interfaces import ISimpleReadContainer
 
 from zope.intid import IntIds, intIdEventNotify
 from zope.intid.interfaces import IIntIds
 
+
+# Local Utility Addition
+def addUtility(sitemanager, name, iface, utility, suffix=''):
+    """Add a utility to a site manager
+
+    This helper function is useful for tests that need to set up utilities.
+    """
+    folder_name = (name or (iface.__name__ + 'Utility')) + suffix
+    default = sitemanager['default']
+    default[folder_name] = utility
+    utility = default[folder_name]
+    sitemanager.registerUtility(utility, iface, name)
+    return utility
+
+
+# setup siteManager
+def createSiteManager(folder, setsite=False):
+    if not ISite.providedBy(folder):
+        folder.setSiteManager(LocalSiteManager(folder))
+    if setsite:
+        setSite(folder)
+    return api.traverse(folder, "++etc++site")
+
+
 class P(Persistent):
     implements(ILocation)
 
@@ -56,14 +88,27 @@
 
 class ReferenceSetupMixin(object):
     """Registers adapters ILocation->IConnection and IPersistent->IReference"""
+
     def setUp(self):
-        self.root = setup.placefulSetUp(site=True)
+        testing.setUp()
+        eventtesting.setUp()
+        traversingSetUp()
+        setHooks()
+        provideAdapter(ContainerTraversable,
+                       (ISimpleReadContainer,), ITraversable)
+        provideAdapter(SiteManagerAdapter, (Interface,), IComponentLookup)
+
+        self.root = rootFolder()
+        createSiteManager(self.root, setsite=True)
+
         provideAdapter(connectionOfPersistent, (IPersistent, ), IConnection)
         provideAdapter(
             KeyReferenceToPersistent, (IPersistent, ), IKeyReference)
 
     def tearDown(self):
-        setup.placefulTearDown()
+        resetHooks()
+        setSite()
+        testing.tearDown()
 
 
 class TestIntIds(ReferenceSetupMixin, unittest.TestCase):
@@ -130,7 +175,6 @@
         obj = P()
         obj._p_jar = ConnectionStub()
 
-
         self.assertEquals(len(u), 0)
         self.assertEquals(u.items(), [])
         self.assertEquals(list(u), [])
@@ -185,15 +229,15 @@
         ReferenceSetupMixin.setUp(self)
 
         sm = getSiteManager(self.root)
-        self.utility = setup.addUtility(sm, '1', IIntIds, IntIds())
+        self.utility = addUtility(sm, '1', IIntIds, IntIds())
 
         self.root['folder1'] = Folder()
         self.root._p_jar = ConnectionStub()
         self.root['folder1']['folder1_1'] = self.folder1_1 = Folder()
         self.root['folder1']['folder1_1']['folder1_1_1'] = Folder()
 
-        sm1_1 = setup.createSiteManager(self.folder1_1)
-        self.utility1 = setup.addUtility(sm1_1, '2', IIntIds, IntIds())
+        sm1_1 = createSiteManager(self.folder1_1)
+        self.utility1 = addUtility(sm1_1, '2', IIntIds, IntIds())
         provideHandler(intIdEventNotify)
 
     def test_removeIntIdSubscriber(self):



More information about the checkins mailing list