[Zope-Checkins] CVS: Zope3/lib/python/Zope/App/OFS/Services/RoleService/tests - testRoleService.py:1.5
Jim Fulton
jim@zope.com
Thu, 11 Jul 2002 14:22:03 -0400
Update of /cvs-repository/Zope3/lib/python/Zope/App/OFS/Services/RoleService/tests
In directory cvs.zope.org:/tmp/cvs-serv7355/lib/python/Zope/App/OFS/Services/RoleService/tests
Modified Files:
testRoleService.py
Log Message:
Reimplemented service managers to be package based. Service managers
are no longer containers. They have a packages subobject (not a
packages service) that contains packages. TTW components are created
in packages. To register a component, create the appropriate component
directive objects (these should be called configuration objects).
This should be viewed as a prototype to illustrate the idea of
packages. Lots of things can change (especially UI) and many things
aren't done (e.g. visiting created directives).
In the course of this, I fixed a bunch of bugs and problems in
traversal machinery.
I also renamed Zope.ComponentArchitecture.IServiceManager back to
IServiceService, since this interface doesn't actually specify any
management.
=== Zope3/lib/python/Zope/App/OFS/Services/RoleService/tests/testRoleService.py 1.4 => 1.5 ===
from Zope.App.OFS.Services.ServiceManager.tests.PlacefulSetup \
import PlacefulSetup
from Zope.ComponentArchitecture import getServiceManager, getService
+from Zope.App.OFS.Services.ServiceManager.ServiceDirective \
+ import ServiceDirective
+from Zope.App.Traversing import getPhysicalPathString
+
+from Zope.App.Traversing.Traverser import Traverser
+from Zope.App.Traversing.ITraverser import ITraverser
+from Zope.App.Traversing.DefaultTraversable import DefaultTraversable
+from Zope.App.Traversing.ITraversable import ITraversable
+
+
+from Zope.App.Traversing.IPhysicallyLocatable import IPhysicallyLocatable
+from Zope.App.Traversing.IContainmentRoot import IContainmentRoot
+from Zope.App.Traversing.PhysicalLocationAdapters \
+ import WrapperPhysicallyLocatable, RootPhysicallyLocatable
+
+
+from Zope.App.OFS.Container.ContainerTraversable import ContainerTraversable
+from Zope.App.OFS.Container.IContainer import ISimpleReadContainer
+
+
class RoleServiceTests(PlacefulSetup, TestCase):
@@ -29,6 +49,24 @@
def setUp(self):
PlacefulSetup.setUp(self)
self.buildFolders()
+
+ # set up traversal services
+ adapterService=getService(None, "Adapters")
+ adapterService.provideAdapter(
+ None, ITraverser, Traverser)
+ adapterService.provideAdapter(
+ None, ITraversable, DefaultTraversable)
+ adapterService.provideAdapter(
+ ISimpleReadContainer, ITraversable, ContainerTraversable)
+
+
+ adapterService.provideAdapter(
+ None, IPhysicallyLocatable, WrapperPhysicallyLocatable)
+ adapterService.provideAdapter(
+ IContainmentRoot, IPhysicallyLocatable, RootPhysicallyLocatable)
+
+
+
from Zope.App.Security.IRoleService import IRoleService
from Zope.App.Security.Registries.RoleRegistry import roleRegistry
sm=getServiceManager(None)
@@ -38,11 +76,18 @@
self.roleRegistry=roleRegistry
provideService("RoleService", self.roleRegistry)
self.createServiceManager()
+
self.sm=getServiceManager(self.rootFolder)
from Zope.App.OFS.Services.RoleService.RoleService import RoleService
self.rs = RoleService()
- self.sm.setObject("myRoleService", self.rs)
- self.sm.bindService("RoleService","myRoleService")
+ self.sm.Packages['default'].setObject("myRoleService", self.rs)
+
+ path = "%s/Packages/default/myRoleService" % getPhysicalPathString(
+ self.sm)
+ directive = ServiceDirective("RoleService", path)
+ self.sm.Packages['default'].setObject("myRoleServiceDir", directive)
+ self.sm.bindService(directive)
+
self.rs=getService(self.rootFolder,"RoleService")
def testGetRole(self):
@@ -69,8 +114,15 @@
self.sm1=getServiceManager(self.folder1)
from Zope.App.OFS.Services.RoleService.RoleService import RoleService
self.rs1 = RoleService()
- self.sm1.setObject("myRoleService", self.rs1)
- self.sm1.bindService("RoleService","myRoleService")
+
+ self.sm1.Packages['default'].setObject("myRoleService", self.rs1)
+
+ path = "%s/Packages/default/myRoleService" % getPhysicalPathString(
+ self.sm1)
+ directive = ServiceDirective("RoleService", path)
+ self.sm1.Packages['default'].setObject("myRoleServiceDir", directive)
+ self.sm1.bindService(directive)
+
self.rs1=self.sm1.getService("RoleService")
r1=Role("Reviewer",'','')
self.rs1.setObject("Reviewer", r1)