def test_it_notifies_before_save_event(self, event, AnnotationTransformEvent, deepcopy): event.request.registry.notify = mock.Mock(spec=lambda event: None) before_save_event = AnnotationTransformEvent.return_value subscribers.publish_annotation_event(event) event.request.registry.notify.assert_called_once_with(before_save_event)
def test_it_publishes_the_serialized_data(self, event, json): subscribers.publish_annotation_event(event) event.request.get_queue_writer.return_value.publish\ .assert_called_once_with( 'annotations', json.dumps.return_value)
def test_it_presents_the_annotation(self, event, presenters): subscribers.publish_annotation_event(event) presenters.AnnotationJSONPresenter.assert_called_once_with( event.request, event.annotation, ) presenters.AnnotationJSONPresenter.return_value.asdict\ .assert_called_once_with()
def test_it_initializes_a_new_before_save_event( self, event, presenters, AnnotationTransformEvent, deepcopy): subscribers.publish_annotation_event(event) deepcopy.assert_called_once_with(event.annotation_dict) AnnotationTransformEvent.assert_called_once_with(event.request, deepcopy.return_value)
def test_it_publishes_the_serialized_data(self, event, presenters, deepcopy): event.request.headers = {'X-Client-Id': 'client_id'} subscribers.publish_annotation_event(event) event.request.realtime.publish_annotation.assert_called_once_with({ 'action': event.action, 'annotation': deepcopy.return_value, 'src_client_id': 'client_id' })
def test_it_publishes_the_realtime_event(self, event): event.request.headers = {'X-Client-Id': 'client_id'} subscribers.publish_annotation_event(event) event.request.realtime.publish_annotation.assert_called_once_with({ 'action': event.action, 'annotation_id': event.annotation_id, 'src_client_id': 'client_id' })
def test_it_publishes_the_serialized_data(self, event, presenters): event.request.headers = {'X-Client-Id': 'client_id'} subscribers.publish_annotation_event(event) event.request.realtime.publish_annotation.assert_called_once_with({ 'action': event.action, 'annotation': presenters.AnnotationJSONPresenter.return_value.asdict.return_value, 'src_client_id': 'client_id' })
def test_it_serializes_the_data(self, event, json, presenters): event.request.headers = {'X-Client-Id': 'client_id'} subscribers.publish_annotation_event(event) json.dumps.assert_called_once_with({ 'action': event.action, 'annotation': presenters.AnnotationJSONPresenter .return_value.asdict.return_value, 'src_client_id': 'client_id', })
def test_it_publishes_the_realtime_event(self, event): event.request.headers = {"X-Client-Id": "client_id"} subscribers.publish_annotation_event(event) event.request.realtime.publish_annotation.assert_called_once_with( { "action": event.action, "annotation_id": event.annotation_id, "src_client_id": "client_id", } )
def test_it_adds_annotation_dict_to_realtime_event(self, event): annotation_dict = mock.Mock() type(event).annotation_dict = mock.PropertyMock(return_value=annotation_dict) event.request.headers = {'X-Client-Id': 'client_id'} subscribers.publish_annotation_event(event) event.request.realtime.publish_annotation.assert_called_once_with({ 'action': event.action, 'annotation_id': event.annotation_id, 'src_client_id': 'client_id', 'annotation_dict': annotation_dict })
def test_it_adds_annotation_dict_to_realtime_event(self, event): annotation_dict = mock.Mock() type(event).annotation_dict = mock.PropertyMock( return_value=annotation_dict) event.request.headers = {'X-Client-Id': 'client_id'} subscribers.publish_annotation_event(event) event.request.realtime.publish_annotation.assert_called_once_with({ 'action': event.action, 'annotation_id': event.annotation_id, 'src_client_id': 'client_id', 'annotation_dict': annotation_dict })
def test_it_raises_for_other_errors(self, event): event.request.realtime.publish_annotation.side_effect = EnvironmentError with pytest.raises(EnvironmentError): subscribers.publish_annotation_event(event)
def test_it_exits_cleanly_when_RealtimeMessageQueueError_is_raised( self, event): event.request.realtime.publish_annotation.side_effect = ( RealtimeMessageQueueError) subscribers.publish_annotation_event(event)
def test_it_gets_the_queue_writer(self, event): subscribers.publish_annotation_event(event) event.request.get_queue_writer.assert_called_once_with()