"""Health warnings and agentic persist helpers.""" from __future__ import annotations import pytest def test_collect_optimization_warnings_speculation_notes_only(monkeypatch) -> None: from app.optimization.health_warnings import collect_optimization_warnings monkeypatch.setattr( "app.optimization.health_warnings.settings.enable_speculative_executor", True, ) monkeypatch.setattr( "app.optimization.health_warnings.settings.enable_async_pipeline", True, ) monkeypatch.setattr( "app.optimization.health_warnings.settings.notes_only_generation", True, ) monkeypatch.setattr( "app.optimization.health_warnings.settings.agentic_inspector_when_notes_only", False, ) monkeypatch.setattr( "app.optimization.health_warnings.settings.vectorstore_backend", "qdrant", ) monkeypatch.setattr( "app.optimization.health_warnings.is_semantic_cache_active", lambda: True, ) warnings = collect_optimization_warnings() assert any("SPECULATIVE_EXECUTOR" in w for w in warnings) def test_collect_optimization_warnings_job_queue_without_redis(monkeypatch) -> None: from app.optimization.health_warnings import collect_optimization_warnings monkeypatch.setattr( "app.optimization.health_warnings.settings.enable_job_queue", True, ) monkeypatch.setattr( "app.optimization.health_warnings.settings.redis_url", "", ) monkeypatch.setattr( "app.optimization.health_warnings.settings.vectorstore_backend", "qdrant", ) monkeypatch.setattr( "app.optimization.health_warnings.is_semantic_cache_active", lambda: True, ) warnings = collect_optimization_warnings() assert any("ENABLE_JOB_QUEUE" in w and "REDIS_URL" in w for w in warnings)