fix(openai): treat empty api key values as unset for workload identity

This commit is contained in:
mateo-berri 2026-08-31 12:52:55 -07:00
parent ef72e7b37d
commit e7dc0213bd
2 changed files with 10 additions and 1 deletions

View file

@ -45,7 +45,7 @@ def resolve_openai_workload_identity_config(
api_key: str | None,
api_base: str | None,
) -> OpenAIWorkloadIdentityConfig | None:
if api_key is not None or get_secret_str("OPENAI_API_KEY") is not None:
if api_key or get_secret_str("OPENAI_API_KEY"):
return None
effective_api_base: Final = (
api_base or litellm.api_base or get_secret_str("OPENAI_BASE_URL") or get_secret_str("OPENAI_API_BASE")

View file

@ -63,6 +63,15 @@ class TestResolveConfig:
monkeypatch.setenv("OPENAI_API_KEY", "sk-from-env")
assert resolve_openai_workload_identity_config(api_key=None, api_base=None) is None
def test_empty_env_openai_api_key_counts_as_unset(
self, wif_env: OpenAIWorkloadIdentityConfig, monkeypatch: pytest.MonkeyPatch
) -> None:
monkeypatch.setenv("OPENAI_API_KEY", "")
assert resolve_openai_workload_identity_config(api_key=None, api_base=None) == wif_env
def test_empty_api_key_param_counts_as_unset(self, wif_env: OpenAIWorkloadIdentityConfig) -> None:
assert resolve_openai_workload_identity_config(api_key="", api_base=None) == wif_env
def test_foreign_api_base_disables(self, wif_env: OpenAIWorkloadIdentityConfig) -> None:
assert resolve_openai_workload_identity_config(api_key=None, api_base="https://my-vllm.internal/v1") is None