Files
odysseus/tests/test_research_cli_preview.py
Alexandre Teixeira 43a101d305 refactor(tests): finish shared CLI loader adoption
Test-only refactor continuing #2523. Replaces remaining obvious CLI/script loader boilerplate with tests.helpers.cli_loader.load_script while preserving existing stubs and assertions.
2026-06-05 06:00:05 +01:00

26 lines
789 B
Python

"""Regression: research CLI summary must tolerate a non-string query.
`_summarize` did `(data.get("query") or "")[:200]`. A non-string query from a
legacy/corrupt research JSON is truthy, so `123[:200]` raised TypeError.
"""
from tests.helpers.cli_loader import load_script
def _load_cli():
return load_script("odysseus-research")
def test_preview_text_ignores_non_string():
cli = _load_cli()
assert cli._preview_text(None) == ""
assert cli._preview_text(123) == ""
assert cli._preview_text(["x"]) == ""
assert cli._preview_text("q" * 250) == "q" * 200
def test_summarize_does_not_crash_on_non_string_query():
cli = _load_cli()
out = cli._summarize("rp1", {"query": 123, "status": "done"})
assert out["query"] == ""
assert out["id"] == "rp1"