[Zope-Checkins] CVS: Zope3/lib/python/Zope/ObjectHub/tests - testObjectHub.py:1.3
Holger Krekel
hpk@devel.trillke.net
Mon, 24 Jun 2002 11:07:04 -0400
Update of /cvs-repository/Zope3/lib/python/Zope/ObjectHub/tests
In directory cvs.zope.org:/tmp/cvs-serv29938/tests
Modified Files:
testObjectHub.py
Log Message:
- ObjectHub now takes RuidObjectEvents in the notify method.
- Added a unittest to check that RuidObjectEvents are
accepted and transmitted.
Godefroid and Holger
=== Zope3/lib/python/Zope/ObjectHub/tests/testObjectHub.py 1.2 => 1.3 ===
from Zope.ObjectHub.IRuidObjectEvent import IRuidObjectModifiedEvent
from Zope.ObjectHub.IRuidObjectEvent import IRuidObjectContextChangedEvent
+from Zope.ObjectHub.IRuidObjectEvent import IRuidObjectRegisteredEvent
+from Zope.ObjectHub.IRuidObjectEvent import IRuidObjectUnregisteredEvent
+
+import Zope.ObjectHub.RuidObjectEvent as RuidObjectEvent
+
+#from Zope.ObjectHub.RuidObjectEvent import RuidObjectRegisteredEvent
+#from Zope.ObjectHub.RuidObjectEvent import RuidObjectAddedEvent
+#from Zope.ObjectHub.RuidObjectEvent import RuidObjectUnregisteredEvent
+#from Zope.ObjectHub.RuidObjectEvent import RuidObjectModifiedEvent
+#from Zope.ObjectHub.RuidObjectEvent import RuidObjectContextChangedEvent
+#from Zope.ObjectHub.RuidObjectEvent import RuidObjectRemovedEvent
from Zope.Exceptions import NotFoundError
from types import StringTypes
@@ -77,7 +88,54 @@
# it is passed into the spec as None.
if ruid is not None:
testcase.assertEqual(event.getRuid(), ruid)
-
+
+class TransmitRuidObjectEventTest(unittest.TestCase):
+ ruid = 23
+ location = '/foo/bar'
+ # Don't test the RuidObjectEvent base class.
+ # See below for testing subclasses / subinterfaces
+ # klass = RuidObjectEvent
+ # interface = IRuidObjectEvent
+
+ def setUp(self):
+ self.object_hub = ObjectHub()
+ self.ruidobject_event = self.klass(self.object_hub, self.ruid, self.location)
+
+ self.subscriber = LoggingSubscriber()
+ self.object_hub.subscribe(self.subscriber)
+
+ def testTransmittedEvent(self):
+ """Test that the RuidObjectEvents are transmitted by the notify method
+ """
+ self.object_hub.notify(self.ruidobject_event)
+
+ self.subscriber.verifyEventsReceived(self, [
+ (self.interface, self.ruid, self.location)
+ ])
+
+class TransmitRuidObjectAddedEventTest(TransmitRuidObjectEventTest):
+ interface = IRuidObjectAddedEvent
+ klass = RuidObjectEvent.RuidObjectAddedEvent
+
+class TransmitRuidObjectRemovedEventTest(TransmitRuidObjectEventTest):
+ interface = IRuidObjectRemovedEvent
+ klass = RuidObjectEvent.RuidObjectRemovedEvent
+
+class TransmitRuidObjectModifiedEventTest(TransmitRuidObjectEventTest):
+ interface = IRuidObjectModifiedEvent
+ klass = RuidObjectEvent.RuidObjectModifiedEvent
+
+class TransmitRuidObjectContextChangedEventTest(TransmitRuidObjectEventTest):
+ interface = IRuidObjectContextChangedEvent
+ klass = RuidObjectEvent.RuidObjectContextChangedEvent
+
+class TransmitRuidObjectRegisteredEventTest(TransmitRuidObjectEventTest):
+ interface = IRuidObjectRegisteredEvent
+ klass = RuidObjectEvent.RuidObjectRegisteredEvent
+
+class TransmitRuidObjectUnregisteredEventTest(TransmitRuidObjectEventTest):
+ interface = IRuidObjectUnregisteredEvent
+ klass = RuidObjectEvent.RuidObjectUnregisteredEvent
class BasicHubTest(unittest.TestCase):
@@ -332,6 +390,12 @@
unittest.makeSuite(TestObjectRemovedEvent),
unittest.makeSuite(TestObjectModifiedEvent),
unittest.makeSuite(TestObjectMovedEvent),
+ unittest.makeSuite(TransmitRuidObjectAddedEventTest),
+ unittest.makeSuite(TransmitRuidObjectRemovedEventTest),
+ unittest.makeSuite(TransmitRuidObjectModifiedEventTest),
+ unittest.makeSuite(TransmitRuidObjectContextChangedEventTest),
+ unittest.makeSuite(TransmitRuidObjectRegisteredEventTest),
+ unittest.makeSuite(TransmitRuidObjectUnregisteredEventTest),
))
if __name__=='__main__':