"""Tests runtime konfigurācijai produkcijas izvietošanai.""" from __future__ import annotations import os import tomllib from pathlib import Path from maris_core.runtime import ( configure_huggingface_environment, is_reload_enabled, resolve_host, resolve_port, ) def test_resolve_port_prefers_platform_port(monkeypatch) -> None: monkeypatch.delenv("PORT", raising=False) assert resolve_port() == 8000 monkeypatch.setenv("PORT", "10000") assert resolve_port() == 10000 def test_resolve_port_rejects_invalid_value(monkeypatch) -> None: monkeypatch.setenv("PORT", "invalid") try: resolve_port() except ValueError as exc: assert str(exc) == "Invalid PORT value: 'invalid'" else: raise AssertionError("resolve_port() should reject invalid PORT values") def test_resolve_host_defaults_to_ipv4_locally(monkeypatch) -> None: monkeypatch.delenv("HOST", raising=False) monkeypatch.delenv("RAILWAY_PRIVATE_DOMAIN", raising=False) monkeypatch.delenv("RAILWAY_PUBLIC_DOMAIN", raising=False) monkeypatch.delenv("RAILWAY_ENVIRONMENT_ID", raising=False) assert resolve_host() == "0.0.0.0" def test_resolve_host_prefers_explicit_host_env(monkeypatch) -> None: monkeypatch.setenv("HOST", "127.0.0.1") monkeypatch.setenv("RAILWAY_PRIVATE_DOMAIN", "maris-core-python.railway.internal") assert resolve_host() == "127.0.0.1" def test_resolve_host_keeps_ipv4_binding_on_railway(monkeypatch) -> None: monkeypatch.delenv("HOST", raising=False) monkeypatch.setenv("RAILWAY_PRIVATE_DOMAIN", "maris-core-python.railway.internal") assert resolve_host() == "0.0.0.0" def test_reload_disabled_by_default(monkeypatch) -> None: monkeypatch.delenv("MARIS_RELOAD", raising=False) assert is_reload_enabled() is False def test_reload_can_be_enabled_from_env(monkeypatch) -> None: monkeypatch.setenv("MARIS_RELOAD", "true") assert is_reload_enabled() is True def test_configure_huggingface_environment_sets_standard_runtime_aliases(monkeypatch) -> None: monkeypatch.setenv("MARIS_REPO_TOKEN", "hf-secret") monkeypatch.delenv("HF_TOKEN", raising=False) monkeypatch.delenv("HUGGING_FACE_HUB_TOKEN", raising=False) monkeypatch.delenv("HUGGINGFACEHUB_API_TOKEN", raising=False) monkeypatch.delenv("HF_HUB_DISABLE_XET", raising=False) configure_huggingface_environment() assert os.environ["HF_TOKEN"] == "hf-secret" assert os.environ["HUGGING_FACE_HUB_TOKEN"] == "hf-secret" assert os.environ["HUGGINGFACEHUB_API_TOKEN"] == "hf-secret" assert os.environ["HF_HUB_DISABLE_XET"] == "1" def test_railway_healthcheck_uses_health_endpoint() -> None: railway_config = tomllib.loads( (Path(__file__).resolve().parents[1] / "railway.toml").read_text(encoding="utf-8") ) assert railway_config["deploy"]["healthcheckPath"] == "/health"