diff --git a/inspirehep/modules/records/api.py b/inspirehep/modules/records/api.py index 7c8f96ca92..a8454c7bcd 100644 --- a/inspirehep/modules/records/api.py +++ b/inspirehep/modules/records/api.py @@ -48,7 +48,7 @@ from inspirehep.modules.pidstore.minters import inspire_recid_minter from inspirehep.modules.pidstore.utils import get_pid_type_from_schema, get_endpoint_from_pid_type -from inspirehep.modules.records.utils import get_pid_from_record_uri, populate_earliest_date +from inspirehep.modules.records.utils import populate_earliest_date from inspirehep.utils.record_getter import ( RecordGetterError, get_es_record_by_uuid @@ -648,49 +648,6 @@ def to_dict(self): """Gets a deep copy of the record's json.""" return deepcopy(dict(self)) - def get_modified_references(self): - """Return the ids of the references diff between the latest and the - previous version. - - The diff includes references added or deleted. Changes in a - reference's content won't be detected. - - Also, it detects if record was deleted/un-deleted compared to the - previous version and, in such cases, returns the full list of - references. - - References not linked to any record will be ignored. - - Note: record should be committed to DB in order to correctly get the - previous version. - - - Returns: - Set[Tuple[str, int]]: pids of references changed from the previous - version. - """ - def _get_ids_from_refs(references): - return set([ - get_pid_from_record_uri(ref['record']['$ref']) - for ref in references - if 'record' in ref - ]) - - try: - prev_version = self.model.versions[-2].json - except IndexError: - prev_version = {} - - changed_deleted_status = self.get('deleted', False) ^ prev_version.get('deleted', False) - - if changed_deleted_status: - return _get_ids_from_refs(self.get('references', [])) - - ids_latest = _get_ids_from_refs(self.get('references', [])) - ids_oldest = _get_ids_from_refs(prev_version.get('references', [])) - - return set.symmetric_difference(ids_latest, ids_oldest) - class ESRecord(InspireRecord): """Record class that fetches records from ElasticSearch.""" diff --git a/inspirehep/modules/records/receivers.py b/inspirehep/modules/records/receivers.py index 58bc70a4ed..73d462e88c 100644 --- a/inspirehep/modules/records/receivers.py +++ b/inspirehep/modules/records/receivers.py @@ -31,15 +31,10 @@ from flask import current_app from flask_sqlalchemy import models_committed from elasticsearch import NotFoundError -from sqlalchemy import tuple_ - -from invenio_db import db from invenio_indexer.signals import before_record_index -from invenio_pidstore.models import PersistentIdentifier from invenio_records.models import RecordMetadata from invenio_records.signals import ( - after_record_insert, after_record_update, before_record_insert, before_record_update, @@ -53,8 +48,6 @@ get_orcids_for_push, ) from inspirehep.modules.records.api import InspireRecord -from inspirehep.modules.records.indexer import InspireRecordIndexer -from inspirehep.modules.records.tasks import batch_reindex from inspirehep.modules.records.utils import ( is_author, is_book, @@ -78,7 +71,7 @@ populate_recid_from_ref, populate_title_suggest, ) - +from inspirehep.modules.records.indexer import InspireRecordIndexer LOGGER = logging.getLogger(__name__) @@ -160,7 +153,6 @@ def index_after_commit(sender, changes): has been really committed to the DB. """ indexer = InspireRecordIndexer() - for model_instance, change in changes: if isinstance(model_instance, RecordMetadata): if change in ('insert', 'update') and not model_instance.json.get("deleted"): @@ -215,26 +207,3 @@ def enhance_after_index(sender, json, record, *args, **kwargs): elif is_data(json): populate_citations_count(record=record, json=json) - -@after_record_insert.connect -@after_record_update.connect -def index_new_cited_records_after_record_update(sender, record, *args, **kwargs): - """Index records whose reference has been added or deleted""" - pids = record.get_modified_references() - - if not pids: - return - - uuids = [ - str(pid.object_uuid) for pid in - db.session.query(PersistentIdentifier.object_uuid).filter( - PersistentIdentifier.object_type == 'rec', - tuple_(PersistentIdentifier.pid_type, PersistentIdentifier.pid_value).in_(pids) - ) - ] - - if uuids: - return batch_reindex.apply_async( - kwargs={'uuids': uuids}, - queue='bulk_index', - ) diff --git a/inspirehep/modules/records/tasks.py b/inspirehep/modules/records/tasks.py index 05b53eb405..215870ecee 100644 --- a/inspirehep/modules/records/tasks.py +++ b/inspirehep/modules/records/tasks.py @@ -34,8 +34,8 @@ from invenio_db import db from invenio_pidstore.models import PersistentIdentifier from invenio_search import current_search_client as es -from inspire_dojson.utils import get_recid_from_ref +from inspire_dojson.utils import get_recid_from_ref from inspirehep.modules.records.api import InspireRecord from inspirehep.modules.records.utils import get_endpoint_from_record from inspirehep.modules.pidstore.utils import get_pid_type_from_schema @@ -182,7 +182,7 @@ def _get_uuids_to_merge(): @shared_task(ignore_result=False, max_retries=0) -def batch_reindex(uuids, request_timeout=None): +def batch_reindex(uuids, request_timeout): """Task for bulk reindexing records.""" def actions(): for uuid in uuids: @@ -192,9 +192,6 @@ def actions(): except NoResultFound as e: logger.warn('Record %s failed to load: %s', uuid, e) - if not request_timeout: - request_timeout = current_app.config['INDEXER_BULK_REQUEST_TIMEOUT'] - success, failures = bulk( es, actions(), diff --git a/inspirehep/utils/record_getter.py b/inspirehep/utils/record_getter.py index 9648def15f..4e9930e8d3 100644 --- a/inspirehep/utils/record_getter.py +++ b/inspirehep/utils/record_getter.py @@ -122,8 +122,6 @@ def get_db_records(pids): The order in which records are returned is different from the order of the input. """ - from inspirehep.modules.records.api import InspireRecord - pids = [(pid_type, str(pid_value)) for (pid_type, pid_value) in pids] if not pids: @@ -137,4 +135,4 @@ def get_db_records(pids): ) for record in query.yield_per(100): - yield InspireRecord(record.json, model=record) + yield record.json diff --git a/tests/integration/conftest.py b/tests/integration/conftest.py index aea3200656..21c38c46ef 100644 --- a/tests/integration/conftest.py +++ b/tests/integration/conftest.py @@ -24,12 +24,13 @@ import sys import os -import mock + import pytest import sqlalchemy - from flask_alembic import Alembic + from functools import partial + from click.testing import CliRunner from flask import current_app from flask.cli import ScriptInfo @@ -101,9 +102,7 @@ def app(): init_all_storage_paths() init_users_and_permissions() - with mock.patch('inspirehep.modules.records.receivers.batch_reindex.apply_async'): - migrate_from_file('./inspirehep/demosite/data/demo-records.xml.gz', wait_for_results=True) - + migrate_from_file('./inspirehep/demosite/data/demo-records.xml.gz', wait_for_results=True) es.indices.refresh('records-hep') # Makes sure that all HEP records were migrated. yield app diff --git a/tests/integration/records/test_records_api.py b/tests/integration/records/test_records_api.py index 106a89bab7..826a4aa4b0 100644 --- a/tests/integration/records/test_records_api.py +++ b/tests/integration/records/test_records_api.py @@ -22,24 +22,19 @@ from __future__ import absolute_import, division, print_function -from copy import deepcopy import os +from tempfile import NamedTemporaryFile import pytest +from invenio_pidstore.models import PersistentIdentifier, RecordIdentifier from jsonschema import ValidationError from six.moves.urllib.parse import quote -from tempfile import NamedTemporaryFile - -from invenio_db import db -from invenio_pidstore.models import PersistentIdentifier, RecordIdentifier from inspirehep.modules.records.api import InspireRecord from inspirehep.utils.record_getter import get_db_record from factories.db.invenio_records import TestRecordMetadata -from utils import _delete_record - def test_validate_validates_format(app): article = get_db_record('lit', 4328) @@ -185,243 +180,3 @@ def test_not_count_citations_from_other_collections(isolated_app): TestRecordMetadata.create_from_kwargs(json=ref) assert record_1.get_citations_count() == 1 - - -def test_get_modified_references_when_prev_version_has_zero(app): - json = { - '$schema': 'http://localhost:5000/schemas/records/hep.json', - 'document_type': ['article'], - 'titles': [{'title': 'Such a cool title'}], - '_collections': ['Literature'], - } - - record = InspireRecord.create(json, skip_files=True) - record.commit() - db.session.commit() - - metadata = record.to_dict() - metadata['references'] = [ - { - 'record': {'$ref': 'http://labs.inspirehep.net/api/literature/1234'}, - 'reference': {'arxiv_eprint': '1710.1234'} - }, - { - 'record': {'$ref': 'http://labs.inspirehep.net/api/literature/4321'}, - 'reference': {'arxiv_eprint': '1710.4321'} - } - ] - - record = get_db_record('lit', record['control_number']) - record.clear() - record.update(metadata) - record.commit() - db.session.commit() - - references_diff = record.get_modified_references() - expected = set([('lit', '1234'), ('lit', '4321')]) - - assert references_diff == expected - - _delete_record('lit', record['control_number']) - - -def test_get_modified_references_when_current_version_has_zero(app): - references = [ - { - 'record': {'$ref': 'http://labs.inspirehep.net/api/literature/1234'}, - 'reference': {'arxiv_eprint': '1710.1234'} - }, - { - 'record': {'$ref': 'http://labs.inspirehep.net/api/literature/4321'}, - 'reference': {'arxiv_eprint': '1710.4321'} - } - ] - - json = { - '$schema': 'http://localhost:5000/schemas/records/hep.json', - 'document_type': ['article'], - 'titles': [{'title': 'Such a cool title'}], - '_collections': ['Literature'], - 'references': references - } - record = InspireRecord.create(json) - record.commit() - db.session.commit() - - metadata = deepcopy(dict(record)) - del metadata['references'] - - record = get_db_record('lit', record['control_number']) - record.clear() - record.update(metadata) - record.commit() - db.session.commit() - - references_diff = record.get_modified_references() - expected = set([('lit', '1234'), ('lit', '4321')]) - - assert references_diff == expected - - _delete_record('lit', record['control_number']) - - -def test_get_modified_references_when_adding_reference(app): - references = [ - { - 'record': {'$ref': 'http://labs.inspirehep.net/api/literature/1234'}, - 'reference': {'arxiv_eprint': '1710.1234'} - }, - { - 'record': {'$ref': 'http://labs.inspirehep.net/api/literature/4321'}, - 'reference': {'arxiv_eprint': '1710.4321'} - } - ] - - json = { - '$schema': 'http://localhost:5000/schemas/records/hep.json', - 'document_type': ['article'], - 'titles': [{'title': 'Such a cool title'}], - '_collections': ['Literature'], - 'references': references - } - - record = InspireRecord.create(json) - record.commit() - db.session.commit() - - metadata = deepcopy(dict(record)) - metadata['references'].append( - { - 'record': {'$ref': 'http://labs.inspirehep.net/api/literature/666'}, - 'reference': {'arxiv_eprint': '1710.0666'} - } - ) - record = get_db_record('lit', record['control_number']) - record.clear() - record.update(metadata) - record.commit() - db.session.commit() - - references_diff = record.get_modified_references() - expected = set([('lit', '666')]) - - assert references_diff == expected - - _delete_record('lit', record['control_number']) - - -def test_get_modified_references_changing_reference_content(app): - references = [ - { - 'record': {'$ref': 'http://labs.inspirehep.net/api/literature/1234'}, - 'reference': {'arxiv_eprint': '1710.1234'} - }, - { - 'record': {'$ref': 'http://labs.inspirehep.net/api/literature/4321'}, - 'reference': {'arxiv_eprint': '1710.4321'} - } - ] - - json = { - '$schema': 'http://localhost:5000/schemas/records/hep.json', - 'document_type': ['article'], - 'titles': [{'title': 'Such a cool title'}], - '_collections': ['Literature'], - 'references': references - } - - record = InspireRecord.create(json) - record.commit() - db.session.commit() - - metadata = deepcopy(dict(record)) - metadata['references'][0]['reference']['arxiv_eprint'] = '1234.5678' - - record = get_db_record('lit', record['control_number']) - record.clear() - record.update(metadata) - record.commit() - db.session.commit() - - references_diff = record.get_modified_references() - - assert references_diff == set() - - _delete_record('lit', record['control_number']) - - -def test_get_modified_references_after_record_delete(app): - json = { - '$schema': 'http://localhost:5000/schemas/records/hep.json', - 'document_type': ['article'], - 'titles': [{'title': 'Such a cool title'}], - '_collections': ['Literature'], - 'references': [ - { - 'record': {'$ref': 'http://labs.inspirehep.net/api/literature/1234'}, - 'reference': {'arxiv_eprint': '1710.1234'} - }, - { - 'record': {'$ref': 'http://labs.inspirehep.net/api/literature/4321'}, - 'reference': {'arxiv_eprint': '1710.4321'} - } - ] - } - - record = InspireRecord.create(json) - record.commit() - db.session.commit() - - metadata = deepcopy(dict(record)) - metadata['deleted'] = True - - record = get_db_record('lit', record['control_number']) - record.clear() - record.update(metadata) - record.commit() - db.session.commit() - - references_diff = record.get_modified_references() - - assert references_diff == set([('lit', '1234'), ('lit', '4321')]) - - _delete_record('lit', record['control_number']) - - -def test_get_modified_references_after_record_undelete(app): - json = { - '$schema': 'http://localhost:5000/schemas/records/hep.json', - 'document_type': ['article'], - 'titles': [{'title': 'Such a cool title'}], - '_collections': ['Literature'], - 'deleted': True, - 'references': [ - { - 'record': {'$ref': 'http://labs.inspirehep.net/api/literature/1234'}, - 'reference': {'arxiv_eprint': '1710.1234'} - }, - { - 'record': {'$ref': 'http://labs.inspirehep.net/api/literature/4321'}, - 'reference': {'arxiv_eprint': '1710.4321'} - } - ] - } - - record = InspireRecord.create(json) - record.commit() - db.session.commit() - - metadata = deepcopy(dict(record)) - del metadata['deleted'] - - record = get_db_record('lit', record['control_number']) - record.clear() - record.update(metadata) - record.commit() - db.session.commit() - - references_diff = record.get_modified_references() - - assert references_diff == set([('lit', '1234'), ('lit', '4321')]) - - _delete_record('lit', record['control_number']) diff --git a/tests/integration/records/test_records_receivers.py b/tests/integration/records/test_records_receivers.py index 485decb4c9..2a9b6ad97e 100644 --- a/tests/integration/records/test_records_receivers.py +++ b/tests/integration/records/test_records_receivers.py @@ -26,7 +26,6 @@ import pkg_resources import pytest import mock - from elasticsearch import NotFoundError from invenio_db import db from invenio_indexer.signals import before_record_index @@ -41,10 +40,8 @@ from inspirehep.modules.migrator.tasks import migrate_and_insert_record from inspirehep.modules.records.api import InspireRecord from inspirehep.modules.records.exceptions import MissingInspireRecord -from inspirehep.modules.records.tasks import batch_reindex from inspirehep.modules.search import LiteratureSearch from inspirehep.utils.record import get_title -from inspirehep.utils.record_getter import get_es_record from utils import _delete_record from factories.db.invenio_records import TestRecordMetadata @@ -448,344 +445,3 @@ def test_check_enhance_after_index_receiver_when_record_not_provided(isolated_ap record=None ) assert str(exc.value) == "Record is not InspireRecord!" - - -@mock.patch( - 'inspirehep.modules.records.wrappers.has_update_permission', - return_value=True -) -@mock.patch('inspirehep.modules.records.receivers.batch_reindex.apply_async') -def test_add_citation_indexes_also_cites_record_when_new_citation_is_added( - mocked_indexing_task, - mocked_permission_check, - app, -): - # this test doesn't use the isolated_app because it needs to commit to - # the DB in order to create records versions. - json_data = { - '$schema': 'http://localhost:5000/schemas/records/hep.json', - 'document_type': ['article'], - 'titles': [{'title': 'This is the record being cited'}], - 'control_number': 9999, - '_collections': ['Literature'] - } - cited = InspireRecord.create(data=json_data, skip_files=True) - db.session.commit() - - mocked_indexing_task.assert_not_called() - - assert get_es_record('lit', 9999)['citation_count'] == 0 - - citing_json = { - '$schema': 'http://localhost:5000/schemas/records/hep.json', - 'document_type': ['article'], - 'titles': [{'title': 'Record citing the first one'}], - '_collections': ['Literature'], - 'control_number': 8888, - 'references': [ - {"reference": {'authors': [{'full_name': 'Smith, J.'}]}} - ] - } - - record = InspireRecord.create(data=citing_json, skip_files=True) - db.session.commit() - - mocked_indexing_task.assert_not_called() - - assert get_es_record('lit', 9999)['citation_count'] == 0 - - references = { - 'references': [ - { - "curated_relation": False, - "record": { - "$ref": "http://localhost:5000/api/literature/9999" - }, - "reference": { - 'authors': [{'full_name': 'Smith, J.'}], - } - } - ] - } - - citing_json.update(references) - record.clear() - record.update(citing_json) - record.commit() - db.session.commit() - - expected_kwargs = {'uuids': [str(cited.id)]} - - mocked_indexing_task.assert_called_with( - kwargs=expected_kwargs, - queue='bulk_index' - ) - # execute mocked task - batch_reindex(**expected_kwargs) - - assert get_es_record('lit', 9999)['citation_count'] == 1 - - _delete_record('lit', 8888) - _delete_record('lit', 9999) - - -@mock.patch( - 'inspirehep.modules.records.wrappers.has_update_permission', - return_value=True -) -@mock.patch('inspirehep.modules.records.receivers.batch_reindex.apply_async') -def test_add_citation_indexes_also_cites_record_when_citation_is_deleted( - mocked_indexing_task, - mocked_permission_check, - app, -): - # this test doesn't use the isolated_app because it needs to commit to - # the DB in order to create records versions. - json_data = { - '$schema': 'http://localhost:5000/schemas/records/hep.json', - 'document_type': ['article'], - 'titles': [{'title': 'This is the record being cited'}], - 'control_number': 9999, - '_collections': ['Literature'] - } - - cited = InspireRecord.create(data=json_data, skip_files=True) - db.session.commit() - - mocked_indexing_task.assert_not_called() - - assert get_es_record('lit', 9999)['citation_count'] == 0 - - citing_json = { - '$schema': 'http://localhost:5000/schemas/records/hep.json', - 'document_type': ['article'], - 'titles': [{'title': 'Record citing the first one'}], - '_collections': ['Literature'], - 'control_number': 8888, - 'references': [ - { - 'record': { - '$ref': 'http://localhost:5000/api/literature/9999' - }, - 'reference': { - 'authors': [{'full_name': 'Smith, J.'}], - } - } - ] - } - - record = InspireRecord.create(data=citing_json, skip_files=True) - db.session.commit() - - expected_kwargs = {'uuids': [str(cited.id)]} - - mocked_indexing_task.assert_called_with( - kwargs=expected_kwargs, - queue='bulk_index' - ) - # execute mocked task - batch_reindex(**expected_kwargs) - - assert get_es_record('lit', 9999)['citation_count'] == 1 - - del citing_json['references'] - record.clear() - record.update(citing_json) - record.commit() - db.session.commit() - - expected_kwargs = {'uuids': [str(cited.id)]} - - mocked_indexing_task.assert_called_with( - kwargs=expected_kwargs, - queue='bulk_index' - ) - # execute mocked task - batch_reindex(**expected_kwargs) - - assert get_es_record('lit', 9999)['citation_count'] == 0 - - _delete_record('lit', record['control_number']) - _delete_record('lit', cited['control_number']) - - -@mock.patch( - 'inspirehep.modules.records.wrappers.has_update_permission', - return_value=True -) -@mock.patch('inspirehep.modules.records.receivers.batch_reindex.apply_async') -def test_add_citation_indexes_also_cites_two_records( - mocked_indexing_task, - mocked_permission_check, - app, -): - # this test doesn't use the isolated_app because it needs to commit to - # the DB in order to create records versions. - json1 = { - '$schema': 'http://localhost:5000/schemas/records/hep.json', - 'document_type': ['article'], - 'titles': [{'title': 'This is the record being cited'}], - 'control_number': 9999, - '_collections': ['Literature'] - } - - cited1 = InspireRecord.create(data=json1, skip_files=True) - db.session.commit() - - mocked_indexing_task.assert_not_called() - - json2 = { - '$schema': 'http://localhost:5000/schemas/records/hep.json', - 'document_type': ['article'], - 'titles': [{'title': 'This also is the record being cited'}], - 'control_number': 9998, - '_collections': ['Literature'] - } - - cited2 = InspireRecord.create(data=json2, skip_files=True) - db.session.commit() - - mocked_indexing_task.assert_not_called() - - assert get_es_record('lit', 9999)['citation_count'] == 0 - assert get_es_record('lit', 9998)['citation_count'] == 0 - - citing_json = { - '$schema': 'http://localhost:5000/schemas/records/hep.json', - 'document_type': ['article'], - 'titles': [{'title': 'Record citing the first one'}], - '_collections': ['Literature'], - 'control_number': 8888, - 'references': [ - { - 'reference': { - 'authors': [{'full_name': 'Smith, J.'}], - } - } - ] - } - - record = InspireRecord.create(data=citing_json, skip_files=True) - db.session.commit() - - mocked_indexing_task.assert_not_called() - - assert get_es_record('lit', 9999)['citation_count'] == 0 - assert get_es_record('lit', 9998)['citation_count'] == 0 - - references = { - 'references': [ - { - 'record': { - '$ref': 'http://localhost:5000/api/literature/9998' - }, - }, - { - 'record': { - '$ref': 'http://localhost:5000/api/literature/9999' - }, - } - ] - } - - citing_json.update(references) - record.clear() - record.update(citing_json) - record.commit() - db.session.commit() - - expected_kwargs = {'uuids': [str(cited1.id), str(cited2.id)]} - - mocked_indexing_task.assert_called_once() - - called_uuids = sorted(mocked_indexing_task.call_args[1]['kwargs']['uuids']) - assert called_uuids == sorted(expected_kwargs['uuids']) - - # execute mocked task - batch_reindex(**expected_kwargs) - - assert get_es_record('lit', 9998)['citation_count'] == 1 - assert get_es_record('lit', 9999)['citation_count'] == 1 - - _delete_record('lit', record['control_number']) - _delete_record('lit', cited1['control_number']) - _delete_record('lit', cited2['control_number']) - - -@mock.patch( - 'inspirehep.modules.records.wrappers.has_update_permission', - return_value=True -) -@mock.patch('inspirehep.modules.records.receivers.batch_reindex.apply_async') -def test_add_citation_indexes_also_cites_record_when_citer_is_deleted( - mocked_indexing_task, - mocked_permission_check, - app, -): - # this test doesn't use the isolated_app because it needs to commit to - # the DB in order to create records versions. - - json_data = { - '$schema': 'http://localhost:5000/schemas/records/hep.json', - 'document_type': ['article'], - 'titles': [{'title': 'This is the record being cited'}], - 'control_number': 9999, - '_collections': ['Literature'] - } - - cited = InspireRecord.create(data=json_data, skip_files=True) - db.session.commit() - - mocked_indexing_task.assert_not_called() - - assert get_es_record('lit', 9999)['citation_count'] == 0 - - citing_json = { - '$schema': 'http://localhost:5000/schemas/records/hep.json', - 'document_type': ['article'], - 'titles': [{'title': 'Record citing the first one'}], - '_collections': ['Literature'], - 'control_number': 8888, - 'references': [ - { - 'record': { - '$ref': 'http://localhost:5000/api/literature/9999' - }, - 'reference': { - 'authors': [{'full_name': 'Smith, J.'}], - } - } - ] - } - - record = InspireRecord.create(data=citing_json, skip_files=True) - db.session.commit() - - expected_kwargs = {'uuids': [str(cited.id)]} - - mocked_indexing_task.assert_called_with( - kwargs=expected_kwargs, - queue='bulk_index' - ) - # execute mocked task - batch_reindex(**expected_kwargs) - - assert get_es_record('lit', 9999)['citation_count'] == 1 - - record.delete() - record.commit() - db.session.commit() - - expected_kwargs = {'uuids': [str(cited.id)]} - - mocked_indexing_task.assert_called_with( - kwargs=expected_kwargs, - queue='bulk_index' - ) - # execute mocked task - batch_reindex(**expected_kwargs) - - assert get_es_record('lit', 9999)['citation_count'] == 0 - - _delete_record('lit', record['control_number']) - _delete_record('lit', cited['control_number']) diff --git a/tests/integration/utils/test_record_getter.py b/tests/integration/utils/test_record_getter.py index e80066024b..db60d7312c 100644 --- a/tests/integration/utils/test_record_getter.py +++ b/tests/integration/utils/test_record_getter.py @@ -22,7 +22,6 @@ from __future__ import absolute_import, division, print_function -from inspirehep.modules.records.api import InspireRecord from inspirehep.utils.record_getter import get_db_records, get_es_records @@ -75,11 +74,3 @@ def test_get_db_records_accept_multiple_pid_types(app): results = list(get_db_records(records)) assert len(results) == 3 - - -def test_get_db_records_return_inspire_record_type(app): - records = [('lit', 1498175)] - - record = list(get_db_records(records))[0] - - assert isinstance(record, InspireRecord) diff --git a/tests/integration/workflows/conftest.py b/tests/integration/workflows/conftest.py index 921f9d293a..957cce4e72 100644 --- a/tests/integration/workflows/conftest.py +++ b/tests/integration/workflows/conftest.py @@ -260,7 +260,8 @@ def record_from_db(workflow_app): pid.unassign() pid.delete() - record._delete(force=True) + record.delete() + record.commit() @pytest.fixture @@ -314,4 +315,5 @@ def record_to_merge(workflow_app): pid.unassign() pid.delete() - record._delete(force=True) + record.delete() + record.commit() diff --git a/tests/integration/workflows/test_workflows_tasks_actions.py b/tests/integration/workflows/test_workflows_tasks_actions.py index 12912844eb..50bef63217 100644 --- a/tests/integration/workflows/test_workflows_tasks_actions.py +++ b/tests/integration/workflows/test_workflows_tasks_actions.py @@ -347,9 +347,7 @@ def test_normalize_journal_titles_unknown_journals_no_ref(workflow_app, insert_j 'inspirehep.modules.workflows.tasks.magpie.json_api_request', side_effect=fake_magpie_api_request, ) -@mock.patch('inspirehep.modules.records.receivers.batch_reindex.apply_async') def test_refextract_from_pdf( - mocked_indexing_task, mocked_api_request_magpie, mocked_api_request_beard, mocked_is_pdf_link, @@ -426,9 +424,7 @@ def test_refextract_from_pdf( 'inspirehep.modules.workflows.tasks.magpie.json_api_request', side_effect=fake_magpie_api_request, ) -@mock.patch('inspirehep.modules.records.receivers.batch_reindex.apply_async') def test_count_reference_coreness( - mocked_indexing_task, mocked_api_request_magpie, mocked_api_request_beard, mocked_is_pdf_link, diff --git a/tests/integration/workflows/test_workflows_tasks_upload.py b/tests/integration/workflows/test_workflows_tasks_upload.py index 74d11f0417..a6291ebff2 100644 --- a/tests/integration/workflows/test_workflows_tasks_upload.py +++ b/tests/integration/workflows/test_workflows_tasks_upload.py @@ -39,8 +39,7 @@ @patch('inspirehep.modules.orcid.api.push_record_with_orcid') -@patch('inspirehep.modules.records.receivers.batch_reindex.apply_async') -def test_store_record_does_not_raise_in_the_orcid_receiver(mocked_indexing_task, mock_attempt_push, workflow_app): +def test_store_record_does_not_raise_in_the_orcid_receiver(mock_attempt_push, app): config = { 'FEATURE_FLAG_ENABLE_ORCID_PUSH': True, 'RECORDS_SKIP_FILES': False,