[prev in list] [next in list] [prev in thread] [next in thread]
List: zope-cvs
Subject: [Zope-Checkins] CVS: Zope3/lib/python/Zope/App/ZMI/tests - testProvideClass.py:1.1.2.8 testServicePr
From: Gary Poster <garyposter () earthlink ! net>
Date: 2002-04-29 23:20:40
[Download RAW message or body]
Update of /cvs-repository/Zope3/lib/python/Zope/App/ZMI/tests
In directory cvs.zope.org:/tmp/cvs-serv1556/App/ZMI/tests
Modified Files:
Tag: Zope-3x-branch
testProvideClass.py testServiceProvideClass.py
testTabsDirective.py testZMIViewService.py
testZMIViewUtility.py
Log Message:
ComponentArchitecture reorganization; addition of for_container; addition of \
IWriteContainer.isAddable.
good news: all tests pass; bad news: after the new security system, my changes have \
some problems. I had to punt on the default contents view of all folders for \
instance--hasServiceManager is causing a problem for some reason I couldn't divine, \
even with Shane's Checker tool. I commented out the offending code on the \
contents.pt just to keep things up.
I tagged before committing: gary_CA-reorganization
changes more in depth (as I understand it, all or most approved :-) ):
(in ComponentArchitecture:)
* changing implementation names to Global* (i.e., AdapterService becomes
GlobalAdapterService) and giving each its own file (many are clumped together
in hooks.py)
* removing hooks.py in ComponentArchitecture, putting all functions in appropriate \
module above (i.e. getAdapter will be in the adapter module)
* largely removing indirection (_hook) except for getService and
getNextService
* changing IServiceService.py to IServiceManager
* changing Service.py to GlobalServiceManager.py (and class name too)
* removing "provide*" functions (i.e., provideAdapter, provideUtility, etc.)
and "defineService" from the __init__.py imports
* change all global services to classes with appropriate methods as per
interfaces
* update all tests
* remove all of the "provide*" functions from the interfaces
* renamed IComponentArchitecture to IPlacefulComponentArchitecture (hereafter IPCA), \
after long discussion with SteveA
* list Resources as one of core CA services in IPlacefulComponentArchitecture
* build actual IPCA interface, not just import of service interfaces (because we \
want IPCA to be placeful, but the service interfaces do not need to \
be)
* place functions implementing ICA actually in __init__
* explicitly setting up services in zcml
* created Global service interfaces, and placed the "provides" and "set" and \
"define" functions there: however, to keep the main interfaces clean and clear, I \
placed these global interfaces in the same file as the global implementations, hoping \
to clarify that these are not reusable interfaces but descriptive, one-time \
interfaces
* built PlacefulSetup in Zope.ComponentArchitecture.tests for more specific CleanUp \
(a subclass). PlacefulSetup is in the tests folder of the local ServiceManager. \
AddableSetup also is available, in the AddableService tests.
(elsewhere in Zope3)
* built for_container in addables
* built isAddable for containers (after discussion with Jim, we decided an addable \
"contains" attribute in the zcml might not be the way to go. I chose the isAddable \
approach for a number of reasons)
* addableservice does some more checks in getting the addable list, pertinent to the \
above and to whether it can find the appropriate factories
* a few more tests: a start of one in the local event service, and some more here \
and there
I'm sorry to add to the confusion of the big security changes, but I needed to either \
trash these changes or commit them: I'm a bit out of time for the moment. If all \
else fails, again, I did tag the previous version.
=== Zope3/lib/python/Zope/App/ZMI/tests/testProvideClass.py 1.1.2.7 => 1.1.2.8 ===
import unittest, sys, Interface
-from Zope.Testing.CleanUp import CleanUp # Base class w registry cleanup
+from Zope.App.OFS.Services.AddableService.tests.AddableSetup import AddableSetup
import Zope.Configuration.name
class MyAddableObject:
pass
-class ProvideClassTest(CleanUp, unittest.TestCase):
-
- def getService_hook(self, context, name):
- if name != "AddableContent" or context is not None: raise NotFoundError
- return self.addableService
-
- def provideFactory_hook(self, qname, factory):
- self._factories[qname] = factory
-
- def createObject_hook(self, place, name, args=[], kwargs={}):
- return self._factories[name](*args, **kwargs)
-
- def setUp(self):
- from Zope.ComponentArchitecture import hooks
- self.__old_getService_hook=hooks.getService_hook
- self.__old_provideFactory_hook=hooks.provideFactory_hook
- self.__old_createObject_hook=hooks.createObject_hook
- self._factories={}
- hooks.getService_hook=self.getService_hook
- hooks.provideFactory_hook=self.provideFactory_hook
- hooks.createObject_hook=self.createObject_hook
- from Zope.App.OFS.Services.AddableService.GlobalAddableService \
- import GlobalAddableService
- self.addableService=GlobalAddableService()
-
- def tearDown(self):
- from Zope.ComponentArchitecture import hooks
- hooks.getService_hook=self.__old_getService_hook
- hooks.provideFactory_hook=self.__old_provideFactory_hook
- hooks.createObject_hook=self.__old_createObject_hook
+class ProvideClassTest(AddableSetup, unittest.TestCase):
def testProvideClass(self):
- from Zope.ComponentArchitecture import createObject, getService
+ from Zope.ComponentArchitecture import getService
from Zope.App.ZMI import provideClass
provideClass("AddableContent", 'My.Test.Addable', MyAddableObject,
None, 'Testing')
- object = createObject(None,'My.Test.Addable')
+ object = getService(None, "Factories").createObject('My.Test.Addable')
self.assert_(isinstance(object, MyAddableObject))
=== Zope3/lib/python/Zope/App/ZMI/tests/testServiceProvideClass.py 1.1.2.8 => 1.1.2.9 \
=== from StringIO import StringIO
from Zope.Configuration.xmlconfig import xmlconfig
-from Zope.Testing.CleanUp import CleanUp # Base class w registry cleanup
+from Zope.App.OFS.Services.AddableService.tests.AddableSetup import AddableSetup
from Zope.Configuration.xmlconfig import ZopeXMLConfigurationError
from Zope.ComponentArchitecture import getService
@@ -32,36 +32,7 @@
class MyAddableService:
pass
-class ServiceProvideClassTest(CleanUp, unittest.TestCase):
-
- def getService_hook(self, context, name):
- if name != "AddableServices" or context is not None: raise NotFoundError
- return self.addableService
-
- def provideFactory_hook(self, qname, factory):
- self._factories[qname] = factory
-
- def createObject_hook(self, place, name, args=[], kwargs={}):
- return self._factories[name](*args, **kwargs)
-
- def setUp(self):
- from Zope.ComponentArchitecture import hooks
- self.__old_getService_hook=hooks.getService_hook
- self.__old_provideFactory_hook=hooks.provideFactory_hook
- self.__old_createObject_hook=hooks.createObject_hook
- self._factories={}
- hooks.getService_hook=self.getService_hook
- hooks.provideFactory_hook=self.provideFactory_hook
- hooks.createObject_hook=self.createObject_hook
- from Zope.App.OFS.Services.AddableService.GlobalAddableService \
- import GlobalAddableService
- self.addableService=GlobalAddableService()
-
- def tearDown(self):
- from Zope.ComponentArchitecture import hooks
- hooks.getService_hook=self.__old_getService_hook
- hooks.provideFactory_hook=self.__old_provideFactory_hook
- hooks.createObject_hook=self.__old_createObject_hook
+class ServiceProvideClassTest(AddableSetup, unittest.TestCase):
def testServiceProvideClassDirective(self):
serviceName = (
=== Zope3/lib/python/Zope/App/ZMI/tests/testTabsDirective.py 1.1.2.6 => 1.1.2.7 ===
# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
# FOR A PARTICULAR PURPOSE.
-#
+#
##############################################################################
"""
@@ -22,17 +22,18 @@
from StringIO import StringIO
from Zope.App.ZMI.ZMIViewService import ZMIViews
-from Zope.Testing.CleanUp import CleanUp # Base class w registry cleanup
-from Zope.ComponentArchitecture import provideAdapter
from Zope.Configuration.xmlconfig import xmlconfig
from Zope.Configuration.xmlconfig import ZopeXMLConfigurationError
from Interface import Interface
from Zope.App.ZMI.tests.sampleInterfaces import *
+from Zope.App.OFS.ServiceManager.tests.PlacefulSetup\
+ import PlacefulSetup
+from Zope.ComponentArchitecture import getService
+class Test(PlacefulSetup, unittest.TestCase):
-class Test(CleanUp, unittest.TestCase):
#XXX we should have a test for multiple inheritance interface
# hierarchies.
@@ -58,7 +59,8 @@
</zopeConfigure>
"""))
- provideAdapter(I1, ITraverser, FakeTraverser)
+ getService(None,"Adapters").provideAdapter(I1, ITraverser,
+ FakeTraverser)
self.assertEqual(list(ZMIViews.getViews(O2())),
[
@@ -94,7 +96,8 @@
</zopeConfigure>
"""))
- provideAdapter(I1, ITraverser, FakeTraverser)
+ getService(None,"Adapters").provideAdapter(I1, ITraverser,
+ FakeTraverser)
self.assertEqual(list(ZMIViews.getViews(O2())),
[
=== Zope3/lib/python/Zope/App/ZMI/tests/testZMIViewService.py 1.1.2.5 => 1.1.2.6 ===
from Interface import Interface
-from Zope.Testing.CleanUp import CleanUp # Base class w registry cleanup
-from Zope.ComponentArchitecture import provideAdapter
+from Zope.ComponentArchitecture import getService
from Zope.App.ZMI.ZMIViewService import ZMIViewService
from Zope.App.ZMI.tests.sampleInterfaces import *
+from Zope.App.OFS.ServiceManager.tests.PlacefulSetup\
+ import PlacefulSetup
-class Test(CleanUp, unittest.TestCase):
+class Test(PlacefulSetup, unittest.TestCase):
#XXX we should have a test for multiple inheritance interface
# hierarchies.
-
+
def testAddView(self):
- provideAdapter(I1, ITraverser, FakeTraverser)
- provideAdapter(I2, ITraverser, FakeTraverser)
-
+ getService(None,"Adapters").provideAdapter(I1, ITraverser,
+ FakeTraverser)
+ getService(None,"Adapters").provideAdapter(I2, ITraverser,
+ FakeTraverser)
+
service = ZMIViewService()
service.registerView(I1, 'Edit', 'edit')
service.registerView(I1, 'History', 'history')
@@ -38,7 +41,7 @@
self.assertEqual(list(service.getViews(O1())),
[('Edit', 'edit'), ('History', 'history')])
-
+
self.assertEqual(list(service.getViews(O2())),
[
('Update', 'update_magic'),
@@ -50,9 +53,11 @@
def testZMIFilter(self):
- provideAdapter(I1, ITraverser, FakeTraverser)
- provideAdapter(I2, ITraverser, FakeTraverser)
-
+ getService(None,"Adapters").provideAdapter(I1, ITraverser,
+ FakeTraverser)
+ getService(None,"Adapters").provideAdapter(I2, ITraverser,
+ FakeTraverser)
+
service = ZMIViewService()
service.registerView(I1, 'Edit', 'edit', 'python: 2==2')
service.registerView(I1, 'History', 'history', 'python: 1==2')
@@ -65,8 +70,8 @@
self.assertEqual(list(service.getViews(O2())),
[('Update', 'update_magic'), ('Edit', 'edit')]
)
-
-
+
+
def test_suite():
loader=unittest.TestLoader()
return loader.loadTestsFromTestCase(Test)
=== Zope3/lib/python/Zope/App/ZMI/tests/testZMIViewUtility.py 1.1.2.8 => 1.1.2.9 ===
from Zope.App.ZMI.IZMIViewService import IZMIViewService
-from Zope.ComponentArchitecture import getService, provideService
-from Zope.Testing.CleanUp import CleanUp # Base class w registry cleanup
-from Zope.ComponentArchitecture import defineService, provideView
+from Zope.ComponentArchitecture import getService, getServiceManager
+from Zope.App.OFS.ServiceManager.tests.PlacefulSetup\
+ import PlacefulSetup
from Zope.App.ZMI.ZMIViewUtility import ZMIViewUtility
from Zope.Publisher.Browser.IBrowserPublisher import IBrowserPublisher
from Zope.App.ZopePublication.Traversers import DefaultTraverser
@@ -57,13 +57,17 @@
__implements__ = IBrowserPublisher
-class Test(CleanUp, unittest.TestCase):
+class Test(PlacefulSetup, unittest.TestCase):
def setUp(self):
+ PlacefulSetup.setUp(self)
+ defineService=getServiceManager(None).defineService
+ provideService=getServiceManager(None).provideService
defineService('ZMIViewService', IZMIViewService)
provideService('ZMIViewService', Service())
- provideView(I, 'a3', IBrowserPublisher, V)
- provideView(None, '_traverse', IBrowserPublisher, DefaultTraverser)
+ getService(None,"Views").provideView(I, 'a3', IBrowserPublisher, V)
+ getService(None, "Views").provideView(None, '_traverse',
+ IBrowserPublisher, DefaultTraverser)
defineChecker(C, NamesChecker(['a1', 'a2', 'a3'], CheckerPublic,
abad='waaa'))
_______________________________________________
Zope-Checkins maillist - Zope-Checkins@zope.org
http://lists.zope.org/mailman/listinfo/zope-checkins
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic