Files
odysseus/tests/test_clawmm_r44_short_title.py
T

55 lines
1.8 KiB
Python

from services.search import core
def test_short_distinctive_paper_name_uses_exact_metadata_before_providers(
monkeypatch,
tmp_path,
):
provider_calls = []
monkeypatch.setattr(core, "SEARCH_CACHE_DIR", tmp_path)
monkeypatch.setattr(core, "search_cache_index", {})
monkeypatch.setattr(core, "_record_query", lambda *args, **kwargs: None)
monkeypatch.setattr(
core,
"_get_search_settings",
lambda: {"search_provider": "searxng", "search_fallback_chain": []},
)
monkeypatch.setattr(core, "_build_provider_chain", lambda provider: [provider])
monkeypatch.setattr(
core,
"_call_provider",
lambda *args, **kwargs: provider_calls.append((args, kwargs)) or [],
)
monkeypatch.setattr(
core,
"_direct_scholarly_title_results",
lambda title, count: [{
"title": "Qwen2-VL: Enhancing Vision-Language Model Perception",
"url": "https://arxiv.org/abs/2409.12191",
"snippet": "Official paper.",
"source": "openalex",
}] if title == "Qwen2-VL" else [],
)
results = core.searxng_search_results(
"Qwen2-VL paper multimodal benchmarks Table 2 Table 4",
count=5,
)
table_results = core.searxng_search_results(
"Qwen2-VL Table 2 benchmark scores",
count=5,
)
assert provider_calls == []
assert results[0]["url"] == "https://arxiv.org/abs/2409.12191"
assert table_results[0]["url"] == "https://arxiv.org/abs/2409.12191"
def test_generic_short_paper_phrase_does_not_claim_exact_title_resolution():
assert core._scholarly_title_from_query(
"recent paper benchmark results"
) == ""
assert core._scholarly_title_from_query(
"well-known paper benchmark results"
) == ""