def test_orcids_for_push_orcid_in_author_with_claim(author_in_isolated_app): record = { '_collections': ['Literature'], 'authors': [ { 'full_name': 'No Orcid, Jimmy', }, { 'full_name': 'Smith, John', 'ids': [ { 'schema': 'INSPIRE BAI', 'value': 'J.Smith.1', }, ], 'record': get_record_ref(author_in_isolated_app, 'authors'), 'curated_relation': True, }, ], 'document_type': ['article'], 'titles': [ { 'title': 'An interesting paper' }, ], } assert validate(record, 'hep') is None assert list(get_orcids_for_push(record)) == ['0000-0002-1825-0097']
def push_to_orcid(sender, record, *args, **kwargs): """If needed, queue the push of the new changes to ORCID.""" if not current_app.config['FEATURE_FLAG_ENABLE_ORCID_PUSH']: LOGGER.warning('ORCID push feature flag not enabled') return if not is_hep(record): return # Ensure there is a control number. This is not always the case because of broken store_record. if 'control_number' not in record: return orcids = get_orcids_for_push(record) orcids_and_tokens = get_push_access_tokens(orcids) for orcid, access_token in orcids_and_tokens: orcid_tasks.orcid_push.apply_async( queue='orcid_push', kwargs={ 'orcid': orcid, 'rec_id': record['control_number'], 'oauth_token': access_token, }, )
def push_to_orcid(sender, record, *args, **kwargs): """If needed, queue the push of the new changes to ORCID.""" if not is_hep(record) or not current_app.config[ 'FEATURE_FLAG_ENABLE_ORCID_PUSH']: return # Ensure there is a control number. This is not always the case because of broken store_record. if 'control_number' not in record: return task_name = current_app.config['ORCID_PUSH_TASK_ENDPOINT'] orcids = get_orcids_for_push(record) orcids_and_tokens = get_push_access_tokens(orcids) for orcid, access_token in orcids_and_tokens: push_to_orcid_task = Task() push_to_orcid_task.name = task_name push_to_orcid_task.apply_async( queue='orcid_push', kwargs={ 'orcid': orcid, 'rec_id': record['control_number'], 'oauth_token': access_token, }, )
def test_orcids_for_push_orcid_in_author_with_claim(author_in_isolated_app): record = { '_collections': ['Literature'], 'authors': [ { 'full_name': 'No Orcid, Jimmy', }, { 'full_name': 'Smith, John', 'ids': [ { 'schema': 'INSPIRE BAI', 'value': 'J.Smith.1', }, ], 'record': get_record_ref(author_in_isolated_app, 'authors'), 'curated_relation': True, }, ], 'document_type': ['article'], 'titles': [ {'title': 'An interesting paper'}, ], } assert validate(record, 'hep') is None assert list(get_orcids_for_push(record)) == ['0000-0002-1825-0097']
def push_to_orcid(sender, record, *args, **kwargs): """If needed, queue the push of the new changes to ORCID.""" if not current_app.config['FEATURE_FLAG_ENABLE_ORCID_PUSH']: LOGGER.warning('ORCID push feature flag not enabled') return if not is_hep(record): return # Ensure there is a control number. This is not always the case because of broken store_record. if 'control_number' not in record: return orcids = get_orcids_for_push(record) orcids_and_tokens = push_access_tokens.get_access_tokens(orcids) kwargs_to_pusher = dict(record_db_version=record.model.version_id) for orcid, access_token in orcids_and_tokens: orcid_tasks.orcid_push.apply_async( queue='orcid_push', kwargs={ 'orcid': orcid, 'rec_id': record['control_number'], 'oauth_token': access_token, 'kwargs_to_pusher': kwargs_to_pusher, }, )
def test_orcids_for_push_no_authors(isolated_app): record = { '_collections': ['Literature'], 'corporate_author': ['Corporate Author'], 'document_type': ['article'], 'titles': [ {'title': 'A paper with no authors'}, ], } assert validate(record, 'hep') is None assert list(get_orcids_for_push(record)) == []
def test_orcids_for_push_no_authors(isolated_app): record = { '_collections': ['Literature'], 'corporate_author': ['Corporate Author'], 'document_type': ['article'], 'titles': [ { 'title': 'A paper with no authors' }, ], } assert validate(record, 'hep') is None assert list(get_orcids_for_push(record)) == []
def test_orcids_for_push_no_orcids(isolated_app): record = { '_collections': ['Literature'], 'authors': [ { 'full_name': 'Smith, John', 'ids': [ { 'schema': 'INSPIRE BAI', 'value': 'J.Smith.1', }, ], }, ], 'document_type': ['article'], 'titles': [ {'title': 'An interesting paper'}, ], } assert validate(record, 'hep') is None assert list(get_orcids_for_push(record)) == []
def test_orcids_for_push_no_orcids(isolated_app): record = { '_collections': ['Literature'], 'authors': [ { 'full_name': 'Smith, John', 'ids': [ { 'schema': 'INSPIRE BAI', 'value': 'J.Smith.1', }, ], }, ], 'document_type': ['article'], 'titles': [ { 'title': 'An interesting paper' }, ], } assert validate(record, 'hep') is None assert list(get_orcids_for_push(record)) == []