def test_send_robotupload_update_authors_when_feature_flag_is_enabled():
    with requests_mock.Mocker() as requests_mocker:
        requests_mocker.register_uri(
            'POST', 'http://inspirehep.net/batchuploader/robotupload/insert',
            text='[INFO] foo bar baz'
        )

        config = {
            'LEGACY_ROBOTUPLOAD_URL': 'http://inspirehep.net',
            'PRODUCTION_MODE': True,
            'FEATURE_FLAG_ENABLE_UPDATE_TO_LEGACY': True
        }

        with patch.dict(current_app.config, config), \
                patch('inspirehep.modules.workflows.tasks.submission.record2marcxml'):
            data = {
                '$schema': 'http://localhost:5000/schemas/records/authors.json',
                'name': {
                    'preferred_name': 'Jessica Jones',
                    'value': 'Jones, Jessica'
                }
            }
            extra_data = {
                'is-update': True
            }

            obj = MockObj(data, extra_data)
            obj.workflow = MockWorkflow('author')
            eng = MockEng(data_type='authors')

            _send_robotupload = send_robotupload(
                mode='insert',
            )

            assert _send_robotupload(obj, eng) is None

            expected = (
                'Robotupload sent!'
                '[INFO] foo bar baz'
                'end of upload'
            )
            result = obj.log._info.getvalue()

            assert expected == result
Пример #2
0
def test_send_robotupload_update_authors_when_feature_flag_is_enabled():
    with requests_mock.Mocker() as requests_mocker:
        requests_mocker.register_uri(
            'POST',
            'http://inspirehep.net/batchuploader/robotupload/insert',
            text='[INFO] foo bar baz')

        config = {
            'LEGACY_ROBOTUPLOAD_URL': 'http://inspirehep.net',
            'PRODUCTION_MODE': True,
            'FEATURE_FLAG_ENABLE_UPDATE_TO_LEGACY': True
        }

        with patch.dict(current_app.config, config), \
                patch('inspirehep.modules.workflows.tasks.submission.record2marcxml'):
            data = {
                '$schema':
                'http://localhost:5000/schemas/records/authors.json',
                'name': {
                    'preferred_name': 'Jessica Jones',
                    'value': 'Jones, Jessica'
                }
            }
            extra_data = {'is-update': True}

            obj = MockObj(data, extra_data)
            obj.workflow = MockWorkflow('author')
            eng = MockEng(data_type='authors')

            _send_robotupload = send_robotupload(mode='insert', )

            assert _send_robotupload(obj, eng) is None

            expected = ('Robotupload sent!'
                        '[INFO] foo bar baz'
                        'end of upload')
            result = obj.log._info.getvalue()

            assert expected == result