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
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