def test_storm_object_modified_no_edited_fields(self): # A longpoll event is not emitted unless edited_fields is populated. storm_object = FakeStormClass() storm_object.id = 1234 with capture_longpoll_emissions() as log: notify(ObjectModifiedEvent(storm_object, storm_object, None)) self.assertEqual([], log) with capture_longpoll_emissions() as log: notify(ObjectModifiedEvent(storm_object, storm_object, ())) self.assertEqual([], log)
def test_emit(self): # LongPollEvent.emit() sends the given data to `event_key`. event = FakeEvent("source") event_data = {"hello": 1234} with capture_longpoll_emissions() as log: event.emit(**event_data) expected_message = LongPollEventRecord( event_key=event.event_key, data=dict(event_data, event_key=event.event_key)) self.assertThat(log, Contains(expected_message))
def test_emit(self): # LongPollEvent.emit() sends the given data to `event_key`. event = FakeEvent("source") event_data = {"hello": 1234} with capture_longpoll_emissions() as log: event.emit(**event_data) expected_message = LongPollEventRecord(event_key=event.event_key, data=dict( event_data, event_key=event.event_key)) self.assertThat(log, Contains(expected_message))
def test_storm_object_created(self): storm_object = FakeStormClass() storm_object.id = 1234 with capture_longpoll_emissions() as log: notify(ObjectCreatedEvent(storm_object)) expected = LongPollEventRecord( "longpoll.event.faketable", { "event_key": "longpoll.event.faketable", "what": "created", "id": 1234, }) self.assertEqual([expected], log)
def test_storm_object_deleted(self): storm_object = FakeStormClass() storm_object.id = 1234 with capture_longpoll_emissions() as log: notify(ObjectDeletedEvent(storm_object)) expected = LongPollEventRecord( "longpoll.event.faketable.1234", { "event_key": "longpoll.event.faketable.1234", "what": "deleted", "id": 1234, }) self.assertEqual([expected], log)
def test_storm_object_modified(self): storm_object = FakeStormClass() storm_object.id = 1234 with capture_longpoll_emissions() as log: object_event = ObjectModifiedEvent(storm_object, storm_object, ("itchy", "scratchy")) notify(object_event) expected = LongPollEventRecord( "longpoll.event.faketable.1234", { "event_key": "longpoll.event.faketable.1234", "what": "modified", "edited_fields": ["itchy", "scratchy"], "id": 1234, }) self.assertEqual([expected], log)
def test_storm_object_modified(self): storm_object = FakeStormClass() storm_object.id = 1234 with capture_longpoll_emissions() as log: object_event = ObjectModifiedEvent( storm_object, storm_object, ("itchy", "scratchy")) notify(object_event) expected = LongPollEventRecord( "longpoll.event.faketable.1234", { "event_key": "longpoll.event.faketable.1234", "what": "modified", "edited_fields": ["itchy", "scratchy"], "id": 1234, }) self.assertEqual([expected], log)
def test_storm_object_modified_edited_fields_are_zope_attributes(self): # The names of IAttribute fields in edited_fields are used in the # longpoll event. storm_object = FakeStormClass() storm_object.id = 1234 with capture_longpoll_emissions() as log: object_event = ObjectModifiedEvent(storm_object, storm_object, ("foo", Attribute("bar"))) notify(object_event) expected = LongPollEventRecord( "longpoll.event.faketable.1234", { "event_key": "longpoll.event.faketable.1234", "what": "modified", "edited_fields": ["bar", "foo"], "id": 1234, }) self.assertEqual([expected], log)
def test_storm_object_modified_edited_fields_are_zope_attributes(self): # The names of IAttribute fields in edited_fields are used in the # longpoll event. storm_object = FakeStormClass() storm_object.id = 1234 with capture_longpoll_emissions() as log: object_event = ObjectModifiedEvent( storm_object, storm_object, ("foo", Attribute("bar"))) notify(object_event) expected = LongPollEventRecord( "longpoll.event.faketable.1234", { "event_key": "longpoll.event.faketable.1234", "what": "modified", "edited_fields": ["bar", "foo"], "id": 1234, }) self.assertEqual([expected], log)