[Checkins] SVN: zope.app.publication/branches/sylvain-testlayers/s Remove zope.app.testing at last.

Sylvain Viollon sylvain at infrae.com
Tue Apr 13 12:26:17 EDT 2010


Log message for revision 110810:
  Remove zope.app.testing at last.
  

Changed:
  U   zope.app.publication/branches/sylvain-testlayers/setup.py
  U   zope.app.publication/branches/sylvain-testlayers/src/zope/app/publication/tests/test_xmlrpcpublication.py
  U   zope.app.publication/branches/sylvain-testlayers/src/zope/app/publication/tests/test_zopepublication.py

-=-
Modified: zope.app.publication/branches/sylvain-testlayers/setup.py
===================================================================
--- zope.app.publication/branches/sylvain-testlayers/setup.py	2010-04-13 15:55:24 UTC (rev 110809)
+++ zope.app.publication/branches/sylvain-testlayers/setup.py	2010-04-13 16:26:16 UTC (rev 110810)
@@ -52,20 +52,16 @@
     package_dir = {'': 'src'},
     namespace_packages=['zope', 'zope.app'],
     extras_require = dict(
-        test=['zope.app.testing',
-              'zope.annotation',
+        test=['zope.annotation',
               'zope.app.appsetup',
               'zope.app.exception',
               'zope.app.http',
-              'zope.app.publication',
               'zope.app.wsgi',
               'zope.applicationcontrol>=3.5.0',
-              'zope.authentication',
               'zope.browserpage',
               'zope.login',
               'zope.password',
               'zope.principalregistry',
-              'zope.publisher',
               'zope.security',
               'zope.securitypolicy',
               'zope.site']),

Modified: zope.app.publication/branches/sylvain-testlayers/src/zope/app/publication/tests/test_xmlrpcpublication.py
===================================================================
--- zope.app.publication/branches/sylvain-testlayers/src/zope/app/publication/tests/test_xmlrpcpublication.py	2010-04-13 15:55:24 UTC (rev 110809)
+++ zope.app.publication/branches/sylvain-testlayers/src/zope/app/publication/tests/test_xmlrpcpublication.py	2010-04-13 16:26:16 UTC (rev 110810)
@@ -25,7 +25,7 @@
 from zope.interface import Interface, implements
 from zope.proxy import removeAllProxies
 from zope.publisher.interfaces import NotFound
-from zope.app.publisher.interfaces.xmlrpc import IXMLRPCView
+from zope.publisher.interfaces.xmlrpc import IXMLRPCView
 from zope.publisher.interfaces.xmlrpc import IXMLRPCRequest
 from zope.publisher.interfaces.xmlrpc import IXMLRPCPublisher
 from zope.publisher.xmlrpc import TestRequest

Modified: zope.app.publication/branches/sylvain-testlayers/src/zope/app/publication/tests/test_zopepublication.py
===================================================================
--- zope.app.publication/branches/sylvain-testlayers/src/zope/app/publication/tests/test_zopepublication.py	2010-04-13 15:55:24 UTC (rev 110809)
+++ zope.app.publication/branches/sylvain-testlayers/src/zope/app/publication/tests/test_zopepublication.py	2010-04-13 16:26:16 UTC (rev 110810)
@@ -26,7 +26,7 @@
 
 from zope.interface.verify import verifyClass
 from zope.interface import implements, classImplements, implementedBy
-from zope.component.interfaces import ComponentLookupError
+from zope.component.interfaces import ComponentLookupError, ISite
 from zope.error.interfaces import IErrorReportingUtility
 from zope.location import Location
 from zope.publisher.base import TestPublication, TestRequest
@@ -36,9 +36,9 @@
 from zope.security.management import endInteraction
 from zope.traversing.interfaces import IPhysicallyLocatable
 from zope.location.interfaces import ILocation
+from zope.testing.cleanup import cleanUp
+from zope.site.site import LocalSiteManager
 
-from zope.app.testing.placelesssetup import PlacelessSetup
-from zope.app.testing import setup
 from zope import component
 from zope.app.publication.tests import support
 
@@ -105,10 +105,23 @@
 class TestRequest(TestRequest):
     URL='http://test.url'
 
-class BasePublicationTests(PlacelessSetup, unittest.TestCase):
 
+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
+
+
+class BasePublicationTests(unittest.TestCase):
+
     def setUp(self):
-        super(BasePublicationTests, self).setUp()
         from zope.security.management import endInteraction
         endInteraction()
         self.policy = setSecurityPolicy(
@@ -151,15 +164,15 @@
         # Close the request, otherwise a Cleanup object will start logging
         # messages from its __del__ method at some inappropriate moment.
         self.request.close()
-        super(BasePublicationTests, self).tearDown()
+        cleanUp()
 
+
+class ZopePublicationErrorHandling(BasePublicationTests):
+
     def testInterfacesVerify(self):
         for interface in implementedBy(ZopePublication):
             verifyClass(interface, TestPublication)
 
-
-class ZopePublicationErrorHandling(BasePublicationTests):
-
     def testRetryAllowed(self):
         from ZODB.POSException import ConflictError
         from zope.publisher.interfaces import Retry
@@ -483,53 +496,6 @@
         self.publication.beforeTraversal(self.request)
         self.failUnless(self.request.principal is principal)
 
-    def testPlacefulAuth(self):
-        setup.setUpTraversal()
-        setup.setUpSiteManagerLookup()
-        principalRegistry.defineDefaultPrincipal('anonymous', '')
-
-        root = self.db.open().root()
-        app = root[ZopePublication.root_name]
-        app['f1'] = rootFolder()
-        f1 = app['f1']
-        f1['f2'] = Folder()
-        sm1 = setup.createSiteManager(f1)
-        setup.addUtility(sm1, '', IAuthentication, AuthUtility1())
-
-        f2 = f1['f2']
-        sm2 = setup.createSiteManager(f2)
-        setup.addUtility(sm2, '', IAuthentication, AuthUtility2())
-        transaction.commit()
-
-        from zope.container.interfaces import ISimpleReadContainer
-        from zope.container.traversal import ContainerTraverser
-
-        component.provideAdapter(ContainerTraverser,
-                                 (ISimpleReadContainer, IRequest),
-                                 IPublishTraverse, name='')
-
-        from zope.site.interfaces import IFolder
-        from zope.security.checker import defineChecker, InterfaceChecker
-        defineChecker(Folder, InterfaceChecker(IFolder))
-
-        self.publication.beforeTraversal(self.request)
-        self.assertEqual(list(queryInteraction().participations),
-                         [self.request])
-        self.assertEqual(self.request.principal.id, 'anonymous')
-        root = self.publication.getApplication(self.request)
-        self.publication.callTraversalHooks(self.request, root)
-        self.assertEqual(self.request.principal.id, 'anonymous')
-        ob = self.publication.traverseName(self.request, root, 'f1')
-        self.publication.callTraversalHooks(self.request, ob)
-        self.assertEqual(self.request.principal.id, 'test.anonymous')
-        ob = self.publication.traverseName(self.request, ob, 'f2')
-        self.publication.afterTraversal(self.request, ob)
-        self.assertEqual(self.request.principal.id, 'test.bob')
-        self.assertEqual(list(queryInteraction().participations),
-                         [self.request])
-        self.publication.endRequest(self.request, ob)
-        self.assertEqual(queryInteraction(), None)
-
     def testTransactionCommitAfterCall(self):
         root = self.db.open().root()
         txn = transaction.get()
@@ -647,9 +613,64 @@
         self.assertEqual(conn.db(), self.db)
 
 
+class AuthZopePublicationTests(BasePublicationTests):
+
+    def setUp(self):
+        super(AuthZopePublicationTests, self).setUp()
+        principalRegistry.defineDefaultPrincipal('anonymous', '')
+
+        root = self.db.open().root()
+        app = root[ZopePublication.root_name]
+        app['f1'] = rootFolder()
+        f1 = app['f1']
+        f1['f2'] = Folder()
+        if not ISite.providedBy(f1):
+            f1.setSiteManager(LocalSiteManager(f1))
+        sm1 = f1.getSiteManager()
+        addUtility(sm1, '', IAuthentication, AuthUtility1())
+
+        f2 = f1['f2']
+        if not ISite.providedBy(f2):
+            f2.setSiteManager(LocalSiteManager(f2))
+        sm2 = f2.getSiteManager()
+        addUtility(sm2, '', IAuthentication, AuthUtility2())
+        transaction.commit()
+
+        from zope.container.interfaces import ISimpleReadContainer
+        from zope.container.traversal import ContainerTraverser
+
+        component.provideAdapter(ContainerTraverser,
+                                 (ISimpleReadContainer, IRequest),
+                                 IPublishTraverse, name='')
+
+        from zope.site.interfaces import IFolder
+        from zope.security.checker import defineChecker, InterfaceChecker
+        defineChecker(Folder, InterfaceChecker(IFolder))
+
+    def testPlacefulAuth(self):
+        self.publication.beforeTraversal(self.request)
+        self.assertEqual(list(queryInteraction().participations),
+                         [self.request])
+        self.assertEqual(self.request.principal.id, 'anonymous')
+        root = self.publication.getApplication(self.request)
+        self.publication.callTraversalHooks(self.request, root)
+        self.assertEqual(self.request.principal.id, 'anonymous')
+        ob = self.publication.traverseName(self.request, root, 'f1')
+        self.publication.callTraversalHooks(self.request, ob)
+        self.assertEqual(self.request.principal.id, 'test.anonymous')
+        ob = self.publication.traverseName(self.request, ob, 'f2')
+        self.publication.afterTraversal(self.request, ob)
+        self.assertEqual(self.request.principal.id, 'test.bob')
+        self.assertEqual(list(queryInteraction().participations),
+                         [self.request])
+        self.publication.endRequest(self.request, ob)
+        self.assertEqual(queryInteraction(), None)
+
+
 def test_suite():
     return unittest.TestSuite((
         unittest.makeSuite(ZopePublicationTests),
+        unittest.makeSuite(AuthZopePublicationTests),
         unittest.makeSuite(ZopePublicationErrorHandling),
         ))
 



More information about the checkins mailing list