import pytest from pydantic import ValidationError from app.settings import Settings def test_environment_settings(monkeypatch) -> None: monkeypatch.setenv("MONITOR_REQUEST_TIMEOUT_SECONDS", "3.5") monkeypatch.setenv("MONITOR_MAX_REDIRECTS", "3") settings = Settings() assert settings.request_timeout_seconds == 3.5 assert settings.max_redirects == 3 def test_invalid_settings_fail_fast() -> None: with pytest.raises(ValidationError): Settings(request_timeout_seconds=0) with pytest.raises(ValidationError): Settings(max_redirects=99)