Пример #1
0
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
Пример #2
0
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)
Пример #3
0
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)
Пример #4
0
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
Пример #5
0
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
Пример #6
0
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)
Пример #7
0
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 == []
Пример #8
0
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 == []
Пример #9
0
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)
Пример #10
0
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)