[Zope-CVS] CVS: Packages/pypes/pypes/tests - test_event.py:1.2 test_identity.py:1.3 test_services.py:1.4

Casey Duncan casey at zope.com
Mon Aug 11 23:35:15 EDT 2003


Update of /cvs-repository/Packages/pypes/pypes/tests
In directory cvs.zope.org:/tmp/cvs-serv18466/tests

Modified Files:
	test_event.py test_identity.py test_services.py 
Log Message:
Fire events when objects are registered or removed from the identity service


=== Packages/pypes/pypes/tests/test_event.py 1.1.1.1 => 1.2 ===
--- Packages/pypes/pypes/tests/test_event.py:1.1.1.1	Mon Aug  4 00:46:05 2003
+++ Packages/pypes/pypes/tests/test_event.py	Mon Aug 11 22:35:09 2003
@@ -310,6 +310,25 @@
         self.assertRaises(
             StopIteration, self.event.iterMessageTypes().next)        
         
-
+class TestMessages(unittest.TestCase):
+    
+    def testIdRegistered(self):
+        from pypes.event import IdRegisteredMessage
+        from pypes.interfaces import IIdentityMessage
+        ob = TestListener()
+        msg = IdRegisteredMessage(ob, 'blah')
+        self.failUnless(verifyObject(IIdentityMessage, msg))
+        self.failUnless(msg.object is ob)
+        self.assertEqual(msg.id, 'blah')
+    
+    def testIdUnregistered(self):
+        from pypes.event import IdUnregisteredMessage
+        from pypes.interfaces import IIdentityMessage
+        ob = TestListener()
+        msg = IdUnregisteredMessage(ob, 'blah')
+        self.failUnless(verifyObject(IIdentityMessage, msg))
+        self.failUnless(msg.object is ob)
+        self.assertEqual(msg.id, 'blah')
+    
 if __name__ == '__main__':
     unittest.main()


=== Packages/pypes/pypes/tests/test_identity.py 1.2 => 1.3 ===
--- Packages/pypes/pypes/tests/test_identity.py:1.2	Tue Aug  5 00:27:51 2003
+++ Packages/pypes/pypes/tests/test_identity.py	Mon Aug 11 22:35:09 2003
@@ -202,6 +202,67 @@
             ids.insert(register(TestClass()))
         self.failIf(difference(OOTreeSet(self.identity.idSet()), ids))
         
+class TestListener(object):
+    
+    def __init__(self):
+        self.received = []
+    
+    def receive(self, msg):
+        self.received.append(msg)
+        
+class TestIdentityServiceEvents(PypesTestCase):
+    
+    def testIdRegisteredEvent(self):
+        from pypes import services
+        from pypes.identity import pypesid
+        from pypes.event import IdRegisteredMessage
+        event = services.event(self.conn)
+        tl = TestListener()
+        event.registerListener(tl, 'receive', IdRegisteredMessage)
+        o = self._newObj()
+        msg, = tl.received
+        self.failUnless(msg.object is o)
+        self.failUnless(msg.id is pypesid(o))        
+
+    def testIdRegisteredEventMultiple(self):
+        from pypes import services
+        from pypes.event import IdRegisteredMessage
+        event = services.event(self.conn)
+        tl = TestListener()
+        event.registerListener(tl, 'receive', IdRegisteredMessage)
+        objs = [self._newObj() for i in range(10)]
+        self.assertEqual(len(tl.received), 10)
+        for o in objs:
+            self.identity.remove(o)
+        self.assertEqual(len(tl.received), 10)
+    
+    def testIdUnregisteredEvent(self):
+        from pypes import services
+        from pypes.identity import pypesid
+        from pypes.event import IdUnregisteredMessage
+        event = services.event(self.conn)
+        tl = TestListener()
+        event.registerListener(tl, 'receive', IdUnregisteredMessage)
+        o = self._newObj()
+        id = pypesid(o)
+        self.assertEqual(len(tl.received), 0)
+        self.identity.remove(o)
+        msg, = tl.received
+        self.failUnless(msg.object is o)
+        self.failUnless(msg.id is id) 
+
+    def testIdUnregisteredEventMultiple(self):
+        from pypes import services
+        from pypes.event import IdUnregisteredMessage
+        event = services.event(self.conn)
+        tl = TestListener()
+        event.registerListener(tl, 'receive', IdUnregisteredMessage)
+        objs = [self._newObj() for i in range(10)]
+        self.assertEqual(len(tl.received), 0)
+        for o in objs:
+            self.identity.remove(o)
+        self.assertEqual(len(tl.received), 10)
+        
 class TestIdentityServicePersistence(PersistenceTest):
     
     def testBasicPersistence(self):


=== Packages/pypes/pypes/tests/test_services.py 1.3 => 1.4 ===
--- Packages/pypes/pypes/tests/test_services.py:1.3	Mon Aug 11 21:33:48 2003
+++ Packages/pypes/pypes/tests/test_services.py	Mon Aug 11 22:35:09 2003
@@ -180,6 +180,7 @@
         from pypes.event import EventService
         self.failUnless(isinstance(services.event(self.conn), EventService))
         
+        
 class TestInitializeServices(PersistenceTest):
     
     def testInitDefaultServices(self):




More information about the Zope-CVS mailing list