from __future__ import annotations from ariadne import settings as settings_module from ariadne.settings import Settings def test_env_int_invalid(monkeypatch) -> None: monkeypatch.setenv("ARIADNE_INT_TEST", "bad") assert settings_module._env_int("ARIADNE_INT_TEST", 5) == 5 def test_env_float_invalid(monkeypatch) -> None: monkeypatch.setenv("ARIADNE_FLOAT_TEST", "bad") assert settings_module._env_float("ARIADNE_FLOAT_TEST", 1.5) == 1.5 def test_from_env_includes_metis_settings(monkeypatch) -> None: monkeypatch.setenv("METIS_SENTINEL_DIR", "/var/lib/metis/sentinel") monkeypatch.setenv("METIS_SENTINEL_STALE_AFTER_SEC", "900") monkeypatch.setenv("ARIADNE_SCHEDULE_METIS_SENTINEL_WATCH", "*/7 * * * *") cfg = Settings.from_env() assert cfg.metis_sentinel_dir == "/var/lib/metis/sentinel" assert cfg.metis_sentinel_stale_after_sec == 900.0 assert cfg.metis_sentinel_watch_cron == "*/7 * * * *"