[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