| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- from __future__ import annotations
- from pathlib import Path
- from production_build_agents.observability.config import (
- DEFAULT_ENDPOINT,
- ObservabilitySettings,
- )
- def test_observability_is_opt_in() -> None:
- settings = ObservabilitySettings.load(
- project_root=Path("/missing"),
- environ={},
- )
- assert settings.enabled is False
- assert settings.endpoint == DEFAULT_ENDPOINT
- assert settings.capture_mode == "full"
- def test_environment_overrides_safe_defaults() -> None:
- settings = ObservabilitySettings.load(
- project_root=Path("/missing"),
- environ={
- "OBAGENT_REPORT_THIS_RUN": "true",
- "OBAGENT_ENDPOINT": "http://127.0.0.1:8931",
- "OBAGENT_PROJECT": "test_project",
- "OBAGENT_TIMEOUT": "2.5",
- "OBAGENT_BATCH_SIZE": "10",
- "OBAGENT_FLUSH_INTERVAL": "0.2",
- "OBAGENT_CAPTURE_MODE": "redacted",
- },
- )
- assert settings.enabled is True
- assert settings.endpoint == "http://127.0.0.1:8931"
- assert settings.project == "test_project"
- assert settings.timeout == 2.5
- assert settings.batch_size == 10
- assert settings.flush_interval == 0.2
- assert settings.capture_mode == "redacted"
- def test_legacy_enabled_flag_cannot_authorize_a_run() -> None:
- settings = ObservabilitySettings.load(
- project_root=Path("/missing"),
- environ={"OBAGENT_ENABLED": "true"},
- )
- assert settings.enabled is False
- def test_unknown_capture_mode_falls_back_to_full() -> None:
- settings = ObservabilitySettings.load(
- project_root=Path("/missing"),
- environ={"OBAGENT_CAPTURE_MODE": "anything"},
- )
- assert settings.capture_mode == "full"
|