Skip to content
This repository was archived by the owner on Jun 5, 2025. It is now read-only.

Commit 1c26ff5

Browse files
Luke Hindsjhrozek
authored andcommitted
Use tempdir rather then leave certs directory in place after running tests
1 parent 3c2623e commit 1c26ff5

File tree

1 file changed

+46
-41
lines changed

1 file changed

+46
-41
lines changed

tests/test_config.py

Lines changed: 46 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
"""Tests for configuration management."""
22

33
import os
4+
import tempfile
45
from pathlib import Path
56

67
import pytest
@@ -62,47 +63,51 @@ def test_config_from_env(env_vars: None) -> None:
6263

6364
def test_config_priority_resolution(temp_config_file: Path, env_vars: None) -> None:
6465
"""Test configuration priority resolution."""
65-
# CLI args should override everything
66-
config = Config.load(
67-
config_path=temp_config_file,
68-
cli_port=8080,
69-
cli_host="example.com",
70-
cli_log_level="WARNING",
71-
cli_log_format="TEXT",
72-
cli_provider_urls={"vllm": "https://custom.vllm.server"},
73-
certs_dir="./custom-certs",
74-
ca_cert="custom-ca.crt",
75-
ca_key="custom-ca.key",
76-
server_cert="custom-server.crt",
77-
server_key="custom-server.key",
78-
)
79-
assert config.port == 8080
80-
assert config.host == "example.com"
81-
assert config.log_level == LogLevel.WARNING
82-
assert config.log_format == LogFormat.TEXT
83-
assert config.provider_urls["vllm"] == "https://custom.vllm.server"
84-
assert config.certs_dir == "./custom-certs"
85-
assert config.ca_cert == "custom-ca.crt"
86-
assert config.ca_key == "custom-ca.key"
87-
assert config.server_cert == "custom-server.crt"
88-
assert config.server_key == "custom-server.key"
89-
90-
# Env vars should override config file
91-
config = Config.load(config_path=temp_config_file)
92-
assert config.port == 8989 # from env
93-
assert config.host == "localhost" # from env
94-
assert config.log_level == LogLevel.WARNING # from env
95-
assert config.log_format == LogFormat.TEXT # from env
96-
assert config.provider_urls == DEFAULT_PROVIDER_URLS # no env override
97-
98-
# Config file should override defaults
99-
os.environ.clear() # Remove env vars
100-
config = Config.load(config_path=temp_config_file)
101-
assert config.port == 8989 # from file
102-
assert config.host == "localhost" # from file
103-
assert config.log_level == LogLevel.DEBUG # from file
104-
assert config.log_format == LogFormat.JSON # from file
105-
assert config.provider_urls == DEFAULT_PROVIDER_URLS # default values
66+
with tempfile.TemporaryDirectory() as tmpdirname:
67+
custom_certs_dir = os.path.join(tmpdirname, "custom-certs")
68+
os.makedirs(custom_certs_dir)
69+
70+
# CLI args should override everything
71+
config = Config.load(
72+
config_path=temp_config_file,
73+
cli_port=8080,
74+
cli_host="example.com",
75+
cli_log_level="WARNING",
76+
cli_log_format="TEXT",
77+
cli_provider_urls={"vllm": "https://custom.vllm.server"},
78+
certs_dir=custom_certs_dir,
79+
ca_cert="custom-ca.crt",
80+
ca_key="custom-ca.key",
81+
server_cert="custom-server.crt",
82+
server_key="custom-server.key",
83+
)
84+
assert config.port == 8080
85+
assert config.host == "example.com"
86+
assert config.log_level == LogLevel.WARNING
87+
assert config.log_format == LogFormat.TEXT
88+
assert config.provider_urls["vllm"] == "https://custom.vllm.server"
89+
assert config.certs_dir == custom_certs_dir
90+
assert config.ca_cert == "custom-ca.crt"
91+
assert config.ca_key == "custom-ca.key"
92+
assert config.server_cert == "custom-server.crt"
93+
assert config.server_key == "custom-server.key"
94+
95+
# Env vars should override config file
96+
config = Config.load(config_path=temp_config_file)
97+
assert config.port == 8989 # from env
98+
assert config.host == "localhost" # from env
99+
assert config.log_level == LogLevel.WARNING # from env
100+
assert config.log_format == LogFormat.TEXT # from env
101+
assert config.provider_urls == DEFAULT_PROVIDER_URLS # no env override
102+
103+
# Config file should override defaults
104+
os.environ.clear() # Remove env vars
105+
config = Config.load(config_path=temp_config_file)
106+
assert config.port == 8989 # from file
107+
assert config.host == "localhost" # from file
108+
assert config.log_level == LogLevel.DEBUG # from file
109+
assert config.log_format == LogFormat.JSON # from file
110+
assert config.provider_urls == DEFAULT_PROVIDER_URLS # default values
106111

107112

108113
def test_provider_urls_from_config(tmp_path: Path) -> None:

0 commit comments

Comments
 (0)