fix(config): invalidate fields with missing env refs

This commit is contained in:
Xubin Ren
2026-07-21 17:35:16 +08:00
parent 4cfc99f4b3
commit b46e7f4377
2 changed files with 33 additions and 6 deletions
+24
View File
@@ -185,6 +185,18 @@ def test_resolver_env_ref_missing_var_degrades_to_not_configured() -> None:
assert resolved.configured is False
def test_resolver_missing_embedded_api_key_ref_degrades_to_not_configured() -> None:
config = Config()
config.transcription.provider = "groq"
config.providers.groq.api_key = "Bearer ${MISSING_GROQ_KEY}"
with patch.dict(os.environ, {}, clear=True):
resolved = resolve_transcription_config(config)
assert not resolved.api_key
assert resolved.configured is False
def test_resolver_interpolates_env_ref_in_api_base() -> None:
config = Config()
config.transcription.provider = "groq"
@@ -197,6 +209,18 @@ def test_resolver_interpolates_env_ref_in_api_base() -> None:
assert resolved.api_base == "https://groq.example/v1"
def test_resolver_missing_embedded_api_base_ref_uses_provider_default() -> None:
config = Config()
config.transcription.provider = "groq"
config.providers.groq.api_key = "gsk-test"
config.providers.groq.api_base = "https://${MISSING_GROQ_HOST}/openai/v1"
with patch.dict(os.environ, {}, clear=True):
resolved = resolve_transcription_config(config)
assert resolved.api_base == "https://api.groq.com/openai/v1"
def test_resolver_supports_xiaomi_mimo_transcription_provider() -> None:
config = Config()
config.transcription.provider = "xiaomi_mimo"