[Zope-CVS] CVS: Packages/pypes/pypes/tests - test_identity.py:1.7

Casey Duncan casey at zope.com
Tue Feb 10 22:57:46 EST 2004


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

Modified Files:
	test_identity.py 
Log Message:
Change remove() so that the id is removed after the event is fired


=== Packages/pypes/pypes/tests/test_identity.py 1.6 => 1.7 ===
--- Packages/pypes/pypes/tests/test_identity.py:1.6	Mon Feb  9 16:14:58 2004
+++ Packages/pypes/pypes/tests/test_identity.py	Tue Feb 10 22:57:45 2004
@@ -247,7 +247,38 @@
         self.identity.remove(o)
         msg, = tl.received
         self.failUnless(msg.object is o)
-        self.failUnless(msg.id is id) 
+        self.failUnless(msg.id is id)
+        
+    def testObjectStillHasIdDuringIdUnregisteredEvent(self):
+        from pypes import services
+        from pypes.identity import pypesid, IdUnregisteredMessage
+        from pypes.exceptions import VetoEvent
+        event = services.event(self.conn)
+        event.registerListener(self, 'confirmId', IdUnregisteredMessage)
+        o = self._newObj()
+        self.identity.remove(o)
+        self.failUnless(o.was_received)
+        self.assertEqual(pypesid(o), None)
+    
+    def confirmId(self, message):
+        from pypes.identity import pypesid
+        self.assertEqual(message.id, pypesid(message.object))
+        message.object.was_received = True
+        
+    def testObjectKeepsIdIfUnregisteredEventVetoed(self):
+        from pypes import services
+        from pypes.identity import pypesid, IdUnregisteredMessage
+        from pypes.exceptions import VetoEvent
+        event = services.event(self.conn)
+        event.registerListener(self, 'veto', IdUnregisteredMessage)
+        o = self._newObj()
+        id = pypesid(o)
+        self.assertRaises(VetoEvent, self.identity.remove, o)
+        self.assertEqual(pypesid(o), id)
+    
+    def veto(self, message):
+        from pypes.exceptions import VetoEvent
+        raise VetoEvent
 
     def testIdUnregisteredEventMultiple(self):
         from pypes import services




More information about the Zope-CVS mailing list