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"]
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"]
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
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
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