[Zope-Checkins] CVS: Zope3/lib/python/Zope/App/OFS/ServiceManager/tests - testServiceManager.py:1.1.2.2

Steve Alexander steve@cat-box.net
Mon, 4 Mar 2002 18:51:47 -0500


Update of /cvs-repository/Zope3/lib/python/Zope/App/OFS/ServiceManager/tests
In directory cvs.zope.org:/tmp/cvs-serv1579/tests

Modified Files:
      Tag: Zope-3x-branch
	testServiceManager.py 
Log Message:
Working TTW service manager + tests.


=== Zope3/lib/python/Zope/App/OFS/ServiceManager/tests/testServiceManager.py 1.1.2.1 => 1.1.2.2 ===
 from Zope.App.OFS.ServiceManager.ServiceManager import ServiceManager
 from Zope.Testing.CleanUp import CleanUp # Base class w registry cleanup
-from Zope.ComponentArchitecture import getService
+from Zope.ComponentArchitecture import getService, provideService
+from Zope.ComponentArchitecture import defineService
+from Zope.Exceptions import ZopeError
 
 class ITestService(Interface): pass
 
@@ -47,27 +49,49 @@
         self.wrapped_folder = w
 
     def testAddService(self):
-	sm = ServiceManager()
-	self.root.setServiceManager(sm)
-	ts = TestService()
-	sm.setObject('test_service1', ts)
-	self.assertEqual(sm.getObject('test_service1'), ts)
+        sm = ServiceManager()
+        self.root.setServiceManager(sm)
+        ts = TestService()
+        sm.setObject('test_service1', ts)
+        self.assertEqual(sm.getObject('test_service1'), ts)
 
     def testGetService(self):
         sm = ServiceManager()
         self.root.setServiceManager(sm)
         ts = TestService()
-        sm.defineService('test_service', ITestService)
-	sm.setObject('test_service1', ts)
+        sm.setObject('test_service1', ts)
+        sm.bindService('test_service', 'test_service1')
+        self.assertEqual(getService(self.root, 'test_service'), ts)
+
+    def testUnbindService(self):
+        sm = ServiceManager()
+        self.root.setServiceManager(sm)
+        ts = TestService()
+        root_ts = TestService()
+        defineService('test_service', ITestService)
+        provideService('test_service', root_ts)
+        
+        sm.setObject('test_service1', ts)
         sm.bindService('test_service', 'test_service1')
         self.assertEqual(getService(self.root, 'test_service'), ts)
+        sm.unbindService('test_service')
+        self.assertEqual(getService(self.root, 'test_service'), root_ts)
 
+    def testDeleteService(self):
+        sm = ServiceManager()
+        self.root.setServiceManager(sm)
+        ts = TestService()
+        
+        sm.setObject('test_service1', ts)
+        sm.bindService('test_service', 'test_service1')
+        self.assertEqual(getService(self.root, 'test_service'), ts)
+        self.assertRaises(ZopeError, sm.delObject, 'test_service1')
+    
     def testContextServiceLookup(self):
         sm = ServiceManager()
         self.root.setServiceManager(sm)
         ts = TestService()
-	sm.defineService('test_service', ITestService)
-	sm.setObject('test_service1', ts)
+        sm.setObject('test_service1', ts)
         sm.bindService('test_service', 'test_service1')
         self.assertEqual(getService(self.wrapped_folder, 'test_service'), ts)
 
@@ -75,8 +99,7 @@
         sm = ServiceManager()
         self.root.setServiceManager(sm)
         ts = TestService()
-	sm.defineService('test_service', ITestService)
-	sm.setObject('test_service1', ts)
+        sm.setObject('test_service1', ts)
         sm.bindService('test_service', 'test_service1')
 
         sm2 = ServiceManager()
@@ -92,9 +115,8 @@
         
         ts = TestService()
 
-        from Zope.ComponentArchitecture.Service import serviceManager
-        serviceManager.defineService('test_service', ITestService)
-        serviceManager.provideService('test_service', ts)
+        defineService('test_service', ITestService)
+        provideService('test_service', ts)
         
         self.assertEqual(getService(self.wrapped_folder, 'test_service'), ts)