Files
odysseus/tests/test_research_utils_low_quality_nonstring.py
Afonso Coutinho 28dbd5346c Treat non-string research summaries as low quality
Filter malformed non-string research summaries instead of letting the broad exception path classify them as usable, with regression coverage.
2026-06-03 13:42:24 +09:00

17 lines
760 B
Python

from src.research_utils import is_low_quality
def test_is_low_quality_treats_non_string_as_low_quality():
# Old code reached summary.lower(), hit AttributeError, and the bare
# except returned False (fail open) so a malformed source slipped through
# as "good". A non-string summary has no usable content, so it should be
# filtered like an empty one (which already returns True).
assert is_low_quality(123) is True
assert is_low_quality({"bad": True}) is True
assert is_low_quality(["does not contain"]) is True
def test_is_low_quality_still_classifies_strings():
assert is_low_quality("This page does not contain relevant information") is True
assert is_low_quality("Detailed analysis of the 2026 EV market") is False