Exemple #1
0
    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)
Exemple #2
0
    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)
Exemple #3
0
    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()
Exemple #4
0
    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)
Exemple #5
0
    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()
Exemple #6
0
    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'
        })
Exemple #7
0
    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'
        })
Exemple #8
0
    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'
        })
Exemple #9
0
    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',
        })
Exemple #10
0
    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",
            }
        )
Exemple #11
0
    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",
            }
        )
Exemple #12
0
    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'
        })
Exemple #13
0
    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
        })
Exemple #14
0
    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
        })
Exemple #15
0
    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)
Exemple #16
0
    def test_it_exits_cleanly_when_RealtimeMessageQueueError_is_raised(
            self, event):
        event.request.realtime.publish_annotation.side_effect = (
            RealtimeMessageQueueError)

        subscribers.publish_annotation_event(event)
Exemple #17
0
    def test_it_gets_the_queue_writer(self, event):
        subscribers.publish_annotation_event(event)

        event.request.get_queue_writer.assert_called_once_with()