File size: 1,880 Bytes
732b14f
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
"""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)