コード例 #1
0
def test_get_search_with_source_with_LiteratureSearch_instance_with_defined_headers(
        inspire_app):
    config = {
        "LITERATURE_SOURCE_INCLUDES_BY_CONTENT_TYPE": {
            "application/vnd+inspire.record.ui+json": ["title", "description"]
        },
        "LITERATURE_SOURCE_EXCLUDES_BY_CONTENT_TYPE": {
            "application/vnd+inspire.record.ui+json":
            ["excludes_with_includes_looks_stupid"],
            "application/bibtex": ["control_number"],
        },
    }
    headers = {"Accept": "application/vnd+inspire.record.ui+json"}
    with override_config(**config), current_app.test_request_context(
            headers=headers):
        search = LiteratureSearch()
        search = get_search_with_source(search)

        expected_source_includes = ["title", "description"]
        expected_source_excludes = ["excludes_with_includes_looks_stupid"]

        search_to_dict = search.to_dict()
        search_source = search_to_dict["_source"]

        assert expected_source_includes == search_source["includes"]
        assert expected_source_excludes == search_source["excludes"]
コード例 #2
0
def test_get_search_with_source_with_fields_query_param(inspire_app):
    with current_app.test_request_context("?fields=authors,ids"):
        search = LiteratureSearch()
        search = get_search_with_source(search)
        expected_search_to_dict_source = {
            "includes":
            ["authors", "ids", "control_number", "_updated", "_created"]
        }
        search_to_dict = search.to_dict()
        assert expected_search_to_dict_source == search_to_dict["_source"]
コード例 #3
0
def test_get_search_with_source_with_LiteratureSearch_instance_without_config(
        inspire_app):
    config = {
        "LITERATURE_SOURCE_INCLUDES_BY_CONTENT_TYPE": None,
        "LITERATURE_SOURCE_EXCLUDES_BY_CONTENT_TYPE": None,
    }
    with override_config(**config), current_app.test_request_context():
        search = LiteratureSearch()
        search = get_search_with_source(search)

        search_to_dict = search.to_dict()
        assert "_source" not in search_to_dict
コード例 #4
0
def test_get_search_with_source_with_LiteratureSearch_instance_without_config(
        base_app):
    config = {
        "LITERATURE_SOURCE_INCLUDES_BY_CONTENT_TYPE": None,
        "LITERATURE_SOURCE_EXCLUDES_BY_CONTENT_TYPE": None,
    }
    with patch.dict(base_app.config, config), base_app.test_request_context():
        search = LiteratureSearch()
        search = get_search_with_source(search)

        search_to_dict = search.to_dict()
        assert "_source" not in search_to_dict
コード例 #5
0
def test_get_search_with_source_with_LiteratureSearch_instance_with_not_defined_headers(
        inspire_app):
    config = {
        "LITERATURE_SOURCE_INCLUDES_BY_CONTENT_TYPE": {
            "application/vnd+inspire.record.ui+json": ["title", "description"]
        },
        "LITERATURE_SOURCE_EXCLUDES_BY_CONTENT_TYPE": {
            "application/bibtex": ["control_number"]
        },
    }
    headers = {"Accept": "application/json"}
    with override_config(**config), current_app.test_request_context(
            headers=headers):
        search = LiteratureSearch()
        search = get_search_with_source(search)

        search_to_dict = search.to_dict()
        assert "_source" not in search_to_dict