[Checkins] SVN: Sandbox/faassen/zope.site/trunk/ The tests work except for one event-related test, which needs a fix

Martijn Faassen faassen at infrae.com
Tue Jan 27 10:45:34 EST 2009


Log message for revision 95220:
  The tests work except for one event-related test, which needs a fix
  in zope.app.container. (and/or a backwards compatibility improvements
  in zope.app.component which now should start importing from zope.site).
  

Changed:
  U   Sandbox/faassen/zope.site/trunk/buildout.cfg
  U   Sandbox/faassen/zope.site/trunk/src/zope/site/README.txt
  U   Sandbox/faassen/zope.site/trunk/src/zope/site/__init__.py
  U   Sandbox/faassen/zope.site/trunk/src/zope/site/interfaces.py
  U   Sandbox/faassen/zope.site/trunk/src/zope/site/site.py
  U   Sandbox/faassen/zope.site/trunk/src/zope/site/site.txt
  U   Sandbox/faassen/zope.site/trunk/src/zope/site/testing.py
  U   Sandbox/faassen/zope.site/trunk/src/zope/site/tests/adapter.py
  U   Sandbox/faassen/zope.site/trunk/src/zope/site/tests/test_api.py
  U   Sandbox/faassen/zope.site/trunk/src/zope/site/tests/test_localsitemanager.py
  U   Sandbox/faassen/zope.site/trunk/src/zope/site/tests/test_registration.py
  U   Sandbox/faassen/zope.site/trunk/src/zope/site/tests/test_site.py

-=-
Modified: Sandbox/faassen/zope.site/trunk/buildout.cfg
===================================================================
--- Sandbox/faassen/zope.site/trunk/buildout.cfg	2009-01-27 15:19:06 UTC (rev 95219)
+++ Sandbox/faassen/zope.site/trunk/buildout.cfg	2009-01-27 15:45:34 UTC (rev 95220)
@@ -1,5 +1,5 @@
 [buildout]
-develop = .
+develop = . zope.app.component
 parts = test coverage-test coverage-report
 
 [test]

Modified: Sandbox/faassen/zope.site/trunk/src/zope/site/README.txt
===================================================================
--- Sandbox/faassen/zope.site/trunk/src/zope/site/README.txt	2009-01-27 15:19:06 UTC (rev 95219)
+++ Sandbox/faassen/zope.site/trunk/src/zope/site/README.txt	2009-01-27 15:45:34 UTC (rev 95220)
@@ -17,8 +17,7 @@
 
 It is common for a utility to delegate its answer to a utility
 providing the same interface in one of the component registry's
-bases. Let's start by creating a utility and inserting it in our
-folder hiearchy:
+bases. Let's first create a global utility::
 
   >>> import zope.interface
   >>> class IMyUtility(zope.interface.Interface):
@@ -29,20 +28,37 @@
   ...     def __init__(self, id):
   ...         self.id = id
   ...     def __repr__(self):
-  ...         return "%s('%s')" %(self.__class__.__name__, self.id)
+  ...         return "%s('%s')" % (self.__class__.__name__, self.id)
 
   >>> gutil = MyUtility('global')
+  >>> from zope.component import getGlobalSiteManager
+  >>> gsm = getGlobalSiteManager()
   >>> gsm.registerUtility(gutil, IMyUtility, 'myutil')
 
-  >>> util1 = setup.addUtility(folder1_sm, 'myutil', IMyUtility,
-  ...                          MyUtility('one'))
+We create a simple folder hierarchy we can place our utilities in:
 
-  >>> folder1_1_sm = setup.createSiteManager(root['folder1']['folder1_1'])
-  >>> util1_1 = setup.addUtility(folder1_1_sm, 'myutil', IMyUtility,
-  ...                            MyUtility('one-one'))
+  >>> from zope.app.folder import Folder, rootFolder
+  >>> root = rootFolder()
+  >>> root[u'folder1'] = Folder()
+  >>> root[u'folder1'][u'folder1_1'] = Folder()
 
-Now, if we ask `util1_1` for its next available utility and we get
+We set up site managers in the folders::
 
+  >>> from zope.site import testing
+  >>> root_sm = testing.createSiteManager(root)
+  >>> folder1_sm = testing.createSiteManager(root['folder1'])
+  >>> folder1_1_sm = testing.createSiteManager(root['folder1']['folder1_1'])
+
+Now we create two utilities and insert them in our folder hierarchy:
+
+  >>> util1 = testing.addUtility(folder1_sm, 'myutil', IMyUtility,
+  ...                            MyUtility('one'))
+  >>> util1_1 = testing.addUtility(folder1_1_sm, 'myutil', IMyUtility,
+  ...                              MyUtility('one-one'))
+
+Now, if we ask `util1_1` for its next available utility we get the
+``one`` utility::
+
   >>> from zope import site
   >>> site.getNextUtility(util1_1, IMyUtility, 'myutil')
   MyUtility('one')
@@ -62,7 +78,7 @@
   No more utilities for <InterfaceClass __builtin__.IMyUtility>,
   'myutil' have been found.
 
-or you can simply use the `queryNextUtility` and specify a default:
+You can also use `queryNextUtility` and specify a default:
 
   >>> site.queryNextUtility(gutil, IMyUtility, 'myutil', 'default')
   'default'
@@ -73,14 +89,16 @@
   >>> from zope.component import registry
   >>> myregistry = registry.Components()
 
+We now set up another utility into that registry:
+
   >>> custom_util = MyUtility('my_custom_util')
   >>> myregistry.registerUtility(custom_util, IMyUtility, 'my_custom_util')
 
-Now we add it as a base to the local site manager:
+We add it as a base to the local site manager:
 
   >>> folder1_sm.__bases__ = (myregistry,) + folder1_sm.__bases__
 
-Both, the ``myregistry`` and global utilities should be available:
+Both the ``myregistry`` and global utilities should be available:
 
   >>> site.queryNextUtility(folder1_sm, IMyUtility, 'my_custom_util')
   MyUtility('my_custom_util')

Modified: Sandbox/faassen/zope.site/trunk/src/zope/site/__init__.py
===================================================================
--- Sandbox/faassen/zope.site/trunk/src/zope/site/__init__.py	2009-01-27 15:19:06 UTC (rev 95219)
+++ Sandbox/faassen/zope.site/trunk/src/zope/site/__init__.py	2009-01-27 15:45:34 UTC (rev 95220)
@@ -16,7 +16,8 @@
 $Id$
 """
 
-from zope.site.site import SiteManagerContainer, SiteManagementFolder
+from zope.site.site import (SiteManagerContainer, SiteManagementFolder,
+                            SiteManagerAdapter)
 from zope.site.site import LocalSiteManager, changeSiteConfigurationAfterMove
 from zope.site.site import threadSiteSubscriber
 from zope.site.site import clearThreadSiteSubscriber

Modified: Sandbox/faassen/zope.site/trunk/src/zope/site/interfaces.py
===================================================================
--- Sandbox/faassen/zope.site/trunk/src/zope/site/interfaces.py	2009-01-27 15:19:06 UTC (rev 95219)
+++ Sandbox/faassen/zope.site/trunk/src/zope/site/interfaces.py	2009-01-27 15:45:34 UTC (rev 95220)
@@ -20,11 +20,6 @@
 import zope.interface
 import zope.component.interfaces
 import zope.app.container.interfaces
-
-zope.deferredimport.deprecatedFrom(
-    "Moved to zope.location.interfaces. Importing from here will stop working in Zope 3.6",
-    "zope.location.interfaces",
-    "ISite", "IPossibleSite")
                     
 class INewLocalSite(zope.interface.Interface):
     """Event: a local site was created
@@ -32,7 +27,7 @@
 
     manager = zope.interface.Attribute("The new site manager")
 
-class NewLocalSite:
+class NewLocalSite(object):
     """Event: a local site was created
     """
     zope.interface.implements(INewLocalSite)

Modified: Sandbox/faassen/zope.site/trunk/src/zope/site/site.py
===================================================================
--- Sandbox/faassen/zope.site/trunk/src/zope/site/site.py	2009-01-27 15:19:06 UTC (rev 95219)
+++ Sandbox/faassen/zope.site/trunk/src/zope/site/site.py	2009-01-27 15:45:34 UTC (rev 95220)
@@ -112,7 +112,6 @@
         zope.interface.directlyProvides(
             self, zope.location.interfaces.ISite,
             zope.interface.directlyProvidedBy(self))
-
         zope.event.notify(interfaces.NewLocalSite(sm))
 
 def _findNextSiteManager(site):

Modified: Sandbox/faassen/zope.site/trunk/src/zope/site/site.txt
===================================================================
--- Sandbox/faassen/zope.site/trunk/src/zope/site/site.txt	2009-01-27 15:19:06 UTC (rev 95219)
+++ Sandbox/faassen/zope.site/trunk/src/zope/site/site.txt	2009-01-27 15:45:34 UTC (rev 95220)
@@ -2,14 +2,13 @@
 Sites and Local Site Managers
 =============================
 
-This chapter is an introduction of the location-based component
-architecture.
+This is an introduction of location-based component architecture.
 
 Creating and Accessing Sites
 ----------------------------
 
 *Sites* are used to provide custom component setups for parts of your
-application or Web site. Every folder:
+application or web site. Every folder:
 
   >>> from zope.app.folder import folder
   >>> myfolder = folder.rootFolder()
@@ -50,7 +49,7 @@
 Note that an event is generated when a local site manager is created:
 
   >>> from zope.component.eventtesting import getEvents
-  >>> from zope.app.component.interfaces import INewLocalSite
+  >>> from zope.site.interfaces import INewLocalSite
   >>> [event] = getEvents(INewLocalSite)
   >>> event.manager is sm
   True
@@ -63,8 +62,8 @@
    ...
    ValueError: setSiteManager requires an IComponentLookup
 
-Also, if the possible site has been changed to a site already, a `TypeError`
-is raised, when one attempts to add a new site manager:
+If the possible site has been changed to a site already, a `TypeError`
+is raised when one attempts to add a new site manager:
 
   >>> myfolder.setSiteManager(site.LocalSiteManager(myfolder))
   Traceback (most recent call last):
@@ -93,7 +92,7 @@
 
 the nearest site is also recorded in a thread-global variable:
 
-  >>> from zope.app.component import hooks
+  >>> from zope.site import hooks
   >>> hooks.getSite() is myfolder
   True
 
@@ -124,7 +123,7 @@
   <class 'zope.site.site.SiteManagementFolder'>
 
 Once you have your site management folder -- let's use the default one -- we
-can register some components. Let's start with a utility
+can register some components. Let's start with a utility:
 
   >>> import zope.interface
   >>> class IMyUtility(zope.interface.Interface):
@@ -321,10 +320,10 @@
   # Make sure that our interfaces and classes are picklable.
 
   >>> import sys
-  >>> sys.modules['zope.app.component.tests'].IMyUtility = IMyUtility
-  >>> IMyUtility.__module__ = 'zope.app.component.tests'
-  >>> sys.modules['zope.app.component.tests'].MyUtility = MyUtility
-  >>> MyUtility.__module__ = 'zope.app.component.tests'
+  >>> sys.modules['zope.site.tests'].IMyUtility = IMyUtility
+  >>> IMyUtility.__module__ = 'zope.site.tests'
+  >>> sys.modules['zope.site.tests'].MyUtility = MyUtility
+  >>> MyUtility.__module__ = 'zope.site.tests'
 
   >>> from zope.location.pickling import locationCopy
   >>> myfolder['myfolder11'] = locationCopy(myfolder2['myfolder21'])

Modified: Sandbox/faassen/zope.site/trunk/src/zope/site/testing.py
===================================================================
--- Sandbox/faassen/zope.site/trunk/src/zope/site/testing.py	2009-01-27 15:19:06 UTC (rev 95219)
+++ Sandbox/faassen/zope.site/trunk/src/zope/site/testing.py	2009-01-27 15:45:34 UTC (rev 95220)
@@ -11,186 +11,53 @@
 # FOR A PARTICULAR PURPOSE.
 #
 ##############################################################################
-"""Base Mix-in class for Placeful Setups
-
-Also contains common test related classes/functions/objects.
-
-$Id$
+"""Reusable functionality for testing site-related code
 """
 
-import os
-import zope.interface
+import zope.component
 from zope.component.interfaces import IComponentLookup
-from zope.app.component.interfaces import ILocalSiteManager
-from zope.app.testing import setup
-from zope.app.testing.placelesssetup import PlacelessSetup
-from zope.app.folder import rootFolder
-from zope.app.testing.functional import ZCMLLayer
-from zope.traversing.api import traverse
+from zope.interface import Interface
 
-AppComponentLayer = ZCMLLayer(
-    os.path.join(os.path.split(__file__)[0], 'ftesting.zcml'),
-    __name__, 'AppComponentLayer', allow_teardown=True)
+from zope.site import LocalSiteManager, SiteManagerAdapter
+from zope.location.interfaces import ISite
+from zope.site.hooks import setSite
+import zope.site.hooks
 
-class Place(object):
+from zope.app.testing.placelesssetup import setUp as placelessSetUp
+from zope.app.testing.placelesssetup import tearDown as placelessTearDown
 
-    def __init__(self, path):
-        self.path = path
+def createSiteManager(folder, setsite=False):
+    if not ISite.providedBy(folder):
+        folder.setSiteManager(LocalSiteManager(folder))
+    if setsite:
+        setSite(folder)
+    return folder.getSiteManager()
 
-    def __get__(self, inst, cls=None):
-        if inst is None:
-            return self
+def addUtility(sitemanager, name, iface, utility, suffix=''):
+    """Add a utility to a site manager
 
-        try:
-            # Use __dict__ directly to avoid infinite recursion
-            root = inst.__dict__['rootFolder']
-        except KeyError:
-            root = inst.rootFolder = setup.buildSampleFolderTree()
+    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
 
-        return traverse(root, self.path)
+def siteSetUp(site=False):
+    placelessSetUp()
+    zope.site.hooks.setHooks()
 
+    zope.component.provideAdapter(SiteManagerAdapter, (Interface,),
+                                  IComponentLookup)
 
-class PlacefulSetup(PlacelessSetup):
+    if site:
+        site = rootFolder()
+        createSiteManager(site, setsite=True)
+        return site
 
-    # Places :)
-    rootFolder  = Place(u'')
-
-    folder1     = Place(u'folder1')
-    folder1_1   = Place(u'folder1/folder1_1')
-    folder1_1_1 = Place(u'folder1/folder1_1/folder1_1_1')
-    folder1_1_2 = Place(u'folder1/folder1_2/folder1_1_2')
-    folder1_2   = Place(u'folder1/folder1_2')
-    folder1_2_1 = Place(u'folder1/folder1_2/folder1_2_1')
-
-    folder2     = Place(u'folder2')
-    folder2_1   = Place(u'folder2/folder2_1')
-    folder2_1_1 = Place(u'folder2/folder2_1/folder2_1_1')
-
-    folder3     = Place(u"\N{CYRILLIC SMALL LETTER PE}"
-                        u"\N{CYRILLIC SMALL LETTER A}"
-                        u"\N{CYRILLIC SMALL LETTER PE}"
-                        u"\N{CYRILLIC SMALL LETTER KA}"
-                        u"\N{CYRILLIC SMALL LETTER A}3")
-    folder3_1   = Place(u"\N{CYRILLIC SMALL LETTER PE}"
-                        u"\N{CYRILLIC SMALL LETTER A}"
-                        u"\N{CYRILLIC SMALL LETTER PE}"
-                        u"\N{CYRILLIC SMALL LETTER KA}"
-                        u"\N{CYRILLIC SMALL LETTER A}3/"
-                        u"\N{CYRILLIC SMALL LETTER PE}"
-                        u"\N{CYRILLIC SMALL LETTER A}"
-                        u"\N{CYRILLIC SMALL LETTER PE}"
-                        u"\N{CYRILLIC SMALL LETTER KA}"
-                        u"\N{CYRILLIC SMALL LETTER A}3_1")
-
-    def setUp(self, folders=False, site=False):
-        setup.placefulSetUp()
-        if folders or site:
-            return self.buildFolders(site)
-
-    def tearDown(self):
-        setup.placefulTearDown()
-        # clean up folders and placeful site managers and services too?
-
-    def buildFolders(self, site=False):
-        self.rootFolder = setup.buildSampleFolderTree()
-        if site:
-            return self.makeSite()
-
-    def makeSite(self, path='/'):
-        folder = traverse(self.rootFolder, path)
-        return setup.createSiteManager(folder, True)
-
-    def createRootFolder(self):
-        self.rootFolder = rootFolder()
-
-
-class SiteManagerStub(object):
-    zope.interface.implements(ILocalSiteManager)
-
-    __bases__ = ()
-
-    def __init__(self):
-        self._utils = {}
-
-    def setNext(self, next):
-        self.__bases__ = (next, )
-
-    def provideUtility(self, iface, util, name=''):
-        self._utils[(iface, name)] = util
-
-    def queryUtility(self, iface, name='', default=None):
-        return self._utils.get((iface, name), default)
-    
-
-def testingNextUtility(utility, nextutility, interface, name='',
-                       sitemanager=None, nextsitemanager=None):
-    """Provide a next utility for testing.
-
-    Since utilities must be registered in sites, we really provide a next
-    site manager in which we place the next utility. If you do not pass in
-    any site managers, they will be created for you.
-
-    For a simple usage of this function, see the doc test of
-    `queryNextUtility()`. Here is a demonstration that passes in the services
-    directly and ensures that the `__parent__` attributes are set correctly.
-
-    First, we need to create a utility interface and implementation:
-
-      >>> from zope.interface import Interface, implements
-      >>> class IAnyUtility(Interface):
-      ...     pass
-      
-      >>> class AnyUtility(object):
-      ...     implements(IAnyUtility)
-      ...     def __init__(self, id):
-      ...         self.id = id
-      
-      >>> any1 = AnyUtility(1)
-      >>> any1next = AnyUtility(2)
-
-    Now we create a special site manager that can have a location:
-
-      >>> SiteManager = type('SiteManager', (GlobalSiteManager,),
-      ...                       {'__parent__': None})
-
-    Let's now create one site manager
-
-      >>> sm = SiteManager()
-
-    and pass it in as the original site manager to the function:
-
-      >>> testingNextUtility(any1, any1next, IAnyUtility, sitemanager=sm)
-      >>> any1.__parent__ is utils
-      True
-      >>> smnext = any1next.__parent__
-      >>> sm.__parent__.next.data['Utilities'] is smnext
-      True
-
-    or if we pass the current and the next site manager:
-
-      >>> sm = SiteManager()
-      >>> smnext = SiteManager()
-      >>> testingNextUtility(any1, any1next, IAnyUtility,
-      ...                    sitemanager=sm, nextsitemanager=smnext)
-      >>> any1.__parent__ is sm
-      True
-      >>> any1next.__parent__ is smnext
-      True
-    
-    """
-    if sitemanager is None:
-        sitemanager = SiteManagerStub()
-    if nextsitemanager is None:
-        nextsitemanager = SiteManagerStub()
-    sitemanager.setNext(nextsitemanager)
-
-    sitemanager.provideUtility(interface, utility, name)
-    utility.__conform__ = (
-        lambda iface:
-        iface.isOrExtends(IComponentLookup) and sitemanager or None
-        )
-    nextsitemanager.provideUtility(interface, nextutility, name)
-    nextutility.__conform__ = (
-        lambda iface:
-        iface.isOrExtends(IComponentLookup) and nextsitemanager or None
-        )
+def siteTearDown():
+    placelessTearDown()
+    zope.site.hooks.resetHooks()
+    zope.site.hooks.setSite()

Modified: Sandbox/faassen/zope.site/trunk/src/zope/site/tests/adapter.py
===================================================================
--- Sandbox/faassen/zope.site/trunk/src/zope/site/tests/adapter.py	2009-01-27 15:19:06 UTC (rev 95219)
+++ Sandbox/faassen/zope.site/trunk/src/zope/site/tests/adapter.py	2009-01-27 15:45:34 UTC (rev 95220)
@@ -17,7 +17,7 @@
 """
 import zope.interface
 import zope.component
-import components
+from zope.site.tests import components
 
 class I1(zope.interface.Interface):
     pass

Modified: Sandbox/faassen/zope.site/trunk/src/zope/site/tests/test_api.py
===================================================================
--- Sandbox/faassen/zope.site/trunk/src/zope/site/tests/test_api.py	2009-01-27 15:19:06 UTC (rev 95219)
+++ Sandbox/faassen/zope.site/trunk/src/zope/site/tests/test_api.py	2009-01-27 15:45:34 UTC (rev 95220)
@@ -19,20 +19,16 @@
 import unittest
 
 from zope.testing import doctest
-from zope.app.testing import setup
+from zope.site import testing
 
 def setUp(test):
-    setup.placefulSetUp()
+    testing.siteSetUp()
 
 def tearDown(test):
-    setup.placefulTearDown()
+    testing.siteTearDown()
 
 def test_suite():
     return unittest.TestSuite((
         doctest.DocFileSuite('../README.txt',
                              setUp=setUp, tearDown=tearDown),
         ))
-
-if __name__ == "__main__":
-    unittest.main(defaultTest='test_suite')
-    

Modified: Sandbox/faassen/zope.site/trunk/src/zope/site/tests/test_localsitemanager.py
===================================================================
--- Sandbox/faassen/zope.site/trunk/src/zope/site/tests/test_localsitemanager.py	2009-01-27 15:19:06 UTC (rev 95219)
+++ Sandbox/faassen/zope.site/trunk/src/zope/site/tests/test_localsitemanager.py	2009-01-27 15:45:34 UTC (rev 95220)
@@ -19,11 +19,12 @@
 
 from zope.interface import Interface
 from zope.copypastemove import ObjectCopier
-from zope.app.component import site
+from zope import site
 from zope.app.folder import Folder
 from zope.app.testing.placelesssetup import PlacelessSetup
 
-class I1(Interface):pass
+class I1(Interface):
+    pass
 
 class TestLocalSiteManager(PlacelessSetup, unittest.TestCase):
 
@@ -49,6 +50,3 @@
     return unittest.TestSuite((
         unittest.makeSuite(TestLocalSiteManager),
         ))
-
-if __name__ == '__main__':
-    unittest.main()

Modified: Sandbox/faassen/zope.site/trunk/src/zope/site/tests/test_registration.py
===================================================================
--- Sandbox/faassen/zope.site/trunk/src/zope/site/tests/test_registration.py	2009-01-27 15:19:06 UTC (rev 95219)
+++ Sandbox/faassen/zope.site/trunk/src/zope/site/tests/test_registration.py	2009-01-27 15:45:34 UTC (rev 95220)
@@ -34,7 +34,7 @@
 import zope.app.container.contained
 from zope import interface
 
-import zope.app.component.site
+import zope.site
 
 
 # test class for testing data conversion
@@ -49,11 +49,8 @@
     def __repr__(self):
         return 'Foo(%r)' % self.name
 
-def setUpOld(test):
+def setUp(test):
     placelesssetup.setUp(test)
-    setup.setUpAnnotations()
-    setup.setUpDependable()
-    setup.setUpTraversal()
     test.globs['showwarning'] = warnings.showwarning
     warnings.showwarning = lambda *a, **k: None
 
@@ -61,11 +58,6 @@
     warnings.showwarning = test.globs['showwarning']
     placelesssetup.tearDown(test)
 
-def setUp(test):
-    placelesssetup.setUp(test)
-    test.globs['showwarning'] = warnings.showwarning
-    warnings.showwarning = lambda *a, **k: None
-
 def oldfs():
     return FileStorage(
         os.path.join(os.path.dirname(__file__), 'gen3.fs'),
@@ -114,8 +106,8 @@
     >>> db = ZODB.tests.util.DB()
     >>> tm1 = transaction.TransactionManager()
     >>> c1 = db.open(transaction_manager=tm1)
-    >>> r1 = zope.app.component.site._LocalAdapterRegistry((base,))
-    >>> r2 = zope.app.component.site._LocalAdapterRegistry((r1,))
+    >>> r1 = zope.site.site._LocalAdapterRegistry((base,))
+    >>> r2 = zope.site.site._LocalAdapterRegistry((r1,))
     >>> c1.root()[1] = r1
     >>> c1.root()[2] = r2
     >>> tm1.commit()
@@ -205,7 +197,7 @@
     >>> manager.queryAdapter(bar, barmodule.IBaz)
     >>> manager.registerAdapter(Baz, [barmodule.IBar], barmodule.IBaz)
     >>> manager.getAdapter(bar, barmodule.IBaz) # doctest: +ELLIPSIS
-    <zope.app.component.tests.test_registration.Baz object at ...>
+    <zope.site.tests.test_registration.Baz object at ...>
 
 Before commit, the adapter is not available from another connection::
 
@@ -223,7 +215,7 @@
     >>> conn2.sync()
     >>> manager2.getAdapter(bar2, barmodule2.IBaz)
     ... # doctest: +ELLIPSIS
-    <zope.app.component.tests.test_registration.Baz object at ...>
+    <zope.site.tests.test_registration.Baz object at ...>
 
 Cleanup::
 
@@ -239,6 +231,3 @@
         ))
     return suite
 
-
-if __name__ == "__main__":
-    unittest.main(defaultTest='test_suite')

Modified: Sandbox/faassen/zope.site/trunk/src/zope/site/tests/test_site.py
===================================================================
--- Sandbox/faassen/zope.site/trunk/src/zope/site/tests/test_site.py	2009-01-27 15:19:06 UTC (rev 95219)
+++ Sandbox/faassen/zope.site/trunk/src/zope/site/tests/test_site.py	2009-01-27 15:45:34 UTC (rev 95220)
@@ -23,10 +23,12 @@
 from zope.testing import doctest
 from zope.location.interfaces import ISite, IPossibleSite
 
-from zope.app.testing import setup
-from zope.app.component import interfaces, site
 from zope.app.folder import folder
 
+from zope.site import interfaces
+from zope import site
+from zope.site import testing
+
 class SiteManagerStub(object):
     zope.interface.implements(interfaces.ILocalSiteManager)
 
@@ -51,7 +53,7 @@
 
     then the adapter simply return's the site's site manager:
     
-      >>> from zope.app.component.site import SiteManagerAdapter
+      >>> from zope.site import SiteManagerAdapter
       >>> SiteManagerAdapter(site) is sm
       True
 
@@ -84,15 +86,15 @@
     This test ensures that the site is corectly set and cleared in a thread
     during traversal using event subscribers. Before we start, no site is set:
 
-      >>> from zope.app.component import hooks
+      >>> from zope.site import hooks
       >>> hooks.getSite() is None
       True
 
 
       >>> request = object()
 
-      >>> from zope.app import publication
-      >>> from zope.app.component import site
+      >>> from zope.app.publication import interfaces
+      >>> from zope import site
 
       
     On the other hand, if a site is traversed, 
@@ -101,7 +103,7 @@
       >>> mysite = CustomFolder('mysite')
       >>> mysite.setSiteManager(sm)
 
-      >>> ev = publication.interfaces.BeforeTraverseEvent(mysite, request)
+      >>> ev = interfaces.BeforeTraverseEvent(mysite, request)
       >>> site.threadSiteSubscriber(mysite, ev)
 
       >>> hooks.getSite()
@@ -109,7 +111,7 @@
 
     Once the request is completed,
 
-      >>> ev = publication.interfaces.EndRequestEvent(mysite, request)
+      >>> ev = interfaces.EndRequestEvent(mysite, request)
       >>> site.clearThreadSiteSubscriber(ev)
 
     the site assignment is cleared again:
@@ -145,18 +147,16 @@
         self.assertRaises(Exception, smc.setSiteManager, self)
 
 
-
 class SiteManagerContainerTest(BaseTestSiteManagerContainer):
     def makeTestObject(self):
-        from zope.app.component.site import SiteManagerContainer
+        from zope.site import SiteManagerContainer
         return SiteManagerContainer()
 
-
 def setUp(test):
-    setup.placefulSetUp()
-
+    testing.siteSetUp()
+    
 def tearDown(test):
-    setup.placefulTearDown()
+    testing.siteTearDown()
 
 def test_suite():
     return unittest.TestSuite((
@@ -165,7 +165,4 @@
         doctest.DocFileSuite('../site.txt',
                              setUp=setUp, tearDown=tearDown),
         ))
-
-if __name__ == "__main__":
-    unittest.main(defaultTest='test_suite')
     



More information about the Checkins mailing list