From f65ad62bb3582b3dd5bf22a5bd3885c4f1f60716 Mon Sep 17 00:00:00 2001 From: Benedikt Bartscher Date: Mon, 27 Jul 2026 16:42:13 +0200 Subject: [PATCH 1/2] add validation for EnvVar uppercase --- .../src/reflex_base/environment.py | 6 +++++ tests/units/test_environment.py | 23 +++++++++++++++++++ 2 files changed, 29 insertions(+) diff --git a/packages/reflex-base/src/reflex_base/environment.py b/packages/reflex-base/src/reflex_base/environment.py index 33461cc19fc..9381d064515 100644 --- a/packages/reflex-base/src/reflex_base/environment.py +++ b/packages/reflex-base/src/reflex_base/environment.py @@ -405,7 +405,13 @@ def __init__(self, name: str, default: Any, type_: T) -> None: name: The environment variable name. default: The default value. type_: The type of the value. + + Raises: + ValueError: If the name is not fully uppercase. """ + if not name.isupper(): + msg = f"Environment variable name must be uppercase: {name!r}" + raise ValueError(msg) self.name = name self.default = default self.type_ = type_ diff --git a/tests/units/test_environment.py b/tests/units/test_environment.py index d3f93165957..50f0ad7e341 100644 --- a/tests/units/test_environment.py +++ b/tests/units/test_environment.py @@ -437,6 +437,29 @@ def test_set_list_value(self): del os.environ["TEST_VAR"] +@pytest.mark.parametrize( + "name", ["test_var", "Test_Var", "tEST_VAR", "reflex_use_npm"] +) +def test_env_var_name_not_uppercase_raises(name): + """Test that a non-uppercase environment variable name is rejected. + + Args: + name: The invalid environment variable name. + """ + with pytest.raises(ValueError, match="must be uppercase"): + EnvVar(name, "default", str) + + +@pytest.mark.parametrize("name", ["TEST_VAR", "__INTERNAL_VAR", "VAR_2"]) +def test_env_var_name_uppercase_accepted(name): + """Test that fully uppercase environment variable names are accepted. + + Args: + name: The valid environment variable name. + """ + assert EnvVar(name, "default", str).name == name + + class TestEnvVarDescriptor: """Test the env_var descriptor.""" From 5844415212fa85453e80fdab2759565758db10c6 Mon Sep 17 00:00:00 2001 From: Benedikt Bartscher Date: Mon, 27 Jul 2026 16:42:29 +0200 Subject: [PATCH 2/2] format --- tests/units/test_environment.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/tests/units/test_environment.py b/tests/units/test_environment.py index 50f0ad7e341..b5b477d5fcd 100644 --- a/tests/units/test_environment.py +++ b/tests/units/test_environment.py @@ -437,9 +437,7 @@ def test_set_list_value(self): del os.environ["TEST_VAR"] -@pytest.mark.parametrize( - "name", ["test_var", "Test_Var", "tEST_VAR", "reflex_use_npm"] -) +@pytest.mark.parametrize("name", ["test_var", "Test_Var", "tEST_VAR", "reflex_use_npm"]) def test_env_var_name_not_uppercase_raises(name): """Test that a non-uppercase environment variable name is rejected.