def test_reindex_only_one_record(inspire_app, clean_celery_session, cli): generate_records(count=1, data={"control_number": 3}) result = cli.invoke(["index", "reindex", "-id", "lit", "3", "-q", ""]) expected_message = "Successfully reindexed record ('lit', '3')" assert result.exit_code == 0 assert expected_message in result.output
def test_reindex_record_lit_fails_with_invalid_field_content( inspire_app, clean_celery_session, cli): invalid_field = {"keywords": ["17B05"]} with patch("inspirehep.indexer.base.InspireRecordIndexer"): with patch("inspirehep.records.api.base.schema_validate"): generate_records(count=1, data=invalid_field, skip_validation=True) check_n_records_reindex_for_pidtype(inspire_app, cli, "lit", n_fail=1)
def test_reindex_record_lit_fails_with_invalid_record(inspire_app, clean_celery_session, cli): broken_field = {"_desy_bookkeeping": {"date": '"2013-01-14_final'}} with patch("inspirehep.indexer.base.InspireRecordIndexer"): with patch("inspirehep.records.api.base.schema_validate"): generate_records(count=1, data=broken_field, skip_validation=True) check_n_records_reindex_for_pidtype(inspire_app, cli, "lit", n_fail=1)
def test_reindex_records_lit_using_multiple_batches(inspire_app, clean_celery_session, cli): generate_records(count=5) generate_records(data={"deleted": True}) result = cli.invoke( ["index", "reindex", "-p", "lit", "-bs", "5", "-q", ""]) assert result.exit_code == 0 assert "5 succeeded" in result.output assert "0 failed" in result.output
def test_get_query_records_to_index_indexes_deleted_record_too( inspire_app, clean_celery_session): generate_records(count=1) generate_records(count=1, data={"deleted": True}) pids = ["lit"] query = get_query_records_to_index(pids) expected_count = 2 result_count = query.count() assert result_count == expected_count
def test_reindex_records_lit_one_fails_and_two_ok( inspire_app, clean_celery_session, cli ): invalid_field = {"keywords": ["17B05"]} generate_records(count=2) with patch("inspirehep.indexer.base.InspireRecordIndexer"): with patch("inspirehep.records.api.base.get_validation_errors"): generate_records(count=1, data=invalid_field, skip_validation=True) check_n_records_reindex_for_pidtype(inspire_app, cli, "lit", n_success=2, n_fail=1)
def test_get_query_records_to_index_only_lit(inspire_app, clean_celery_session): generate_records(count=2) generate_records(count=2, record_type=AuthorsRecord) pids = ["lit"] query = get_query_records_to_index(pids) expected_count = 2 result_count = query.count() assert result_count == expected_count uuids = [str(item[0]) for item in query.all()] deleted_records = _get_deleted_records_by_uuids(uuids) assert deleted_records == []
def test_get_query_records_to_index_ok_different_pids(inspire_app, celery_app_with_context, celery_session_worker): generate_records(count=2) generate_records(count=2, record_type=AuthorsRecord) pids = ["lit", "aut"] query = get_query_records_to_index(pids) expected_count = 4 result_count = query.count() assert result_count == expected_count uuids = [str(item[0]) for item in query.all()] deleted_records = _get_deleted_records_by_uuids(uuids) assert deleted_records == []
def test_reindex_records_data_records(inspire_app, celery_app_with_context, celery_session_worker, cli): generate_records(count=3, record_type=DataRecord) check_n_records_reindex_for_pidtype(inspire_app, cli, "dat", n_success=3)
def test_reindex_records_data_records(inspire_app, clean_celery_session, cli): generate_records(count=3, record_type=DataRecord) check_n_records_reindex_for_pidtype(inspire_app, cli, "dat", n_success=3)