mirror of
https://github.com/headroomlabs-ai/headroom.git
synced 2026-08-27 14:17:10 -04:00
42 lines
1.4 KiB
Python
42 lines
1.4 KiB
Python
|
|
from __future__ import annotations
|
||
|
|
|
||
|
|
import importlib
|
||
|
|
import os
|
||
|
|
|
||
|
|
import pytest
|
||
|
|
|
||
|
|
import headroom.proxy.helpers as helpers
|
||
|
|
|
||
|
|
|
||
|
|
@pytest.fixture(autouse=True)
|
||
|
|
def _restore_default_timeout():
|
||
|
|
"""Each test reloads helpers under a chosen env; reset to the default afterwards
|
||
|
|
so the reloaded module constant doesn't leak into the rest of the suite."""
|
||
|
|
yield
|
||
|
|
os.environ.pop("HEADROOM_COMPRESSION_TIMEOUT_SECONDS", None)
|
||
|
|
importlib.reload(helpers)
|
||
|
|
|
||
|
|
|
||
|
|
def test_default_timeout_is_30(monkeypatch: pytest.MonkeyPatch) -> None:
|
||
|
|
monkeypatch.delenv("HEADROOM_COMPRESSION_TIMEOUT_SECONDS", raising=False)
|
||
|
|
importlib.reload(helpers)
|
||
|
|
assert helpers.COMPRESSION_TIMEOUT_SECONDS == 30.0
|
||
|
|
|
||
|
|
|
||
|
|
def test_env_overrides_timeout(monkeypatch: pytest.MonkeyPatch) -> None:
|
||
|
|
monkeypatch.setenv("HEADROOM_COMPRESSION_TIMEOUT_SECONDS", "75")
|
||
|
|
importlib.reload(helpers)
|
||
|
|
assert helpers.COMPRESSION_TIMEOUT_SECONDS == 75.0
|
||
|
|
|
||
|
|
|
||
|
|
def test_fractional_timeout(monkeypatch: pytest.MonkeyPatch) -> None:
|
||
|
|
monkeypatch.setenv("HEADROOM_COMPRESSION_TIMEOUT_SECONDS", "12.5")
|
||
|
|
importlib.reload(helpers)
|
||
|
|
assert helpers.COMPRESSION_TIMEOUT_SECONDS == 12.5
|
||
|
|
|
||
|
|
|
||
|
|
def test_bad_env_falls_back_to_default(monkeypatch: pytest.MonkeyPatch) -> None:
|
||
|
|
monkeypatch.setenv("HEADROOM_COMPRESSION_TIMEOUT_SECONDS", "not-a-number")
|
||
|
|
importlib.reload(helpers)
|
||
|
|
assert helpers.COMPRESSION_TIMEOUT_SECONDS == 30.0
|