Skip to content

Commit d283e93

Browse files
committed
add tests for system config dir
1 parent fb71ec3 commit d283e93

File tree

1 file changed

+16
-3
lines changed

1 file changed

+16
-3
lines changed

tests/test_config.py

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -285,18 +285,27 @@ def test_env_var_precedence(mock_env_file, tmp_path, monkeypatch): # noqa: ARG0
285285
# Create local .env directory if it doesn't exist
286286
local_env_dir = tmp_path / "local"
287287
local_env_dir.mkdir(exist_ok=True)
288+
system_env_dir = tmp_path / "system"
289+
system_env_dir.mkdir(exist_ok=True)
288290
monkeypatch.setattr("sed.core.config.ENV_DIR", local_env_dir / ".env")
291+
monkeypatch.setattr("sed.core.config.SYSTEM_CONFIG_PATH", system_env_dir)
289292

290293
# Set up test values in different locations
291294
os.environ["TEST_VAR"] = "os_value"
292295

293-
# Save to user config first (lowest precedence)
296+
# Save to system config first (4th precedence)
297+
with open(system_env_dir / ".env", "w") as f:
298+
f.write("TEST_VAR=system_value\n")
299+
300+
# Save to user config first (3rd precedence)
294301
save_env_var("TEST_VAR", "user_value")
295302

296-
# Create local .env file (medium precedence)
303+
# Create local .env file (2nd precedence)
297304
with open(local_env_dir / ".env", "w") as f:
298305
f.write("TEST_VAR=local_value\n")
299306

307+
assert read_env_var("TEST_VAR") == "os_value"
308+
300309
# Remove from OS env to test other precedence levels
301310
monkeypatch.delenv("TEST_VAR", raising=False)
302311
assert read_env_var("TEST_VAR") == "local_value"
@@ -305,8 +314,12 @@ def test_env_var_precedence(mock_env_file, tmp_path, monkeypatch): # noqa: ARG0
305314
(local_env_dir / ".env").unlink()
306315
assert read_env_var("TEST_VAR") == "user_value"
307316

308-
# Remove user config and should get None
317+
# Remove user config and should get system value
309318
(mock_env_file / ".env").unlink()
319+
assert read_env_var("TEST_VAR") == "system_value"
320+
321+
# Remove system config and should get None
322+
(system_env_dir / ".env").unlink()
310323
assert read_env_var("TEST_VAR") is None
311324

312325

0 commit comments

Comments
 (0)