diff --git a/tests/units/test_config.py b/tests/units/test_config.py index 1027042c9..0c63abc96 100644 --- a/tests/units/test_config.py +++ b/tests/units/test_config.py @@ -7,8 +7,13 @@ import pytest import reflex as rx import reflex.config -from reflex.config import environment -from reflex.constants import Endpoint +from reflex.config import ( + environment, + interpret_boolean_env, + interpret_enum_env, + interpret_int_env, +) +from reflex.constants import Endpoint, Env def test_requires_app_name(): @@ -208,11 +213,11 @@ def test_replace_defaults( assert getattr(c, key) == value -def reflex_dir_constant(): +def reflex_dir_constant() -> Path: return environment.REFLEX_DIR -def test_reflex_dir_env_var(monkeypatch, tmp_path): +def test_reflex_dir_env_var(monkeypatch: pytest.MonkeyPatch, tmp_path: Path) -> None: """Test that the REFLEX_DIR environment variable is used to set the Reflex.DIR constant. Args: @@ -224,3 +229,16 @@ def test_reflex_dir_env_var(monkeypatch, tmp_path): mp_ctx = multiprocessing.get_context(method="spawn") with mp_ctx.Pool(processes=1) as pool: assert pool.apply(reflex_dir_constant) == tmp_path + + +def test_interpret_enum_env() -> None: + assert interpret_enum_env(Env.PROD.value, Env, "REFLEX_ENV") == Env.PROD + + +def test_interpret_int_env() -> None: + assert interpret_int_env("3001", "FRONTEND_PORT") == 3001 + + +@pytest.mark.parametrize("value, expected", [("true", True), ("false", False)]) +def test_interpret_bool_env(value: str, expected: bool) -> None: + assert interpret_boolean_env(value, "TELEMETRY_ENABLED") == expected