fix(credentials): align EnvVarStorage exists with load semantics (#5680)
* Return boolean from exists method for credential check * Add test for empty value handling in EnvVarStorage Add test to verify exists() and load() consistency for empty values in EnvVarStorage.
This commit is contained in:
@@ -519,7 +519,7 @@ class EnvVarStorage(CredentialStorage):
|
|||||||
def exists(self, credential_id: str) -> bool:
|
def exists(self, credential_id: str) -> bool:
|
||||||
"""Check if credential is available in environment."""
|
"""Check if credential is available in environment."""
|
||||||
env_var = self._get_env_var_name(credential_id)
|
env_var = self._get_env_var_name(credential_id)
|
||||||
return self._read_env_value(env_var) is not None
|
return bool(self._read_env_value(env_var))
|
||||||
|
|
||||||
def add_mapping(self, credential_id: str, env_var: str) -> None:
|
def add_mapping(self, credential_id: str, env_var: str) -> None:
|
||||||
"""
|
"""
|
||||||
|
|||||||
@@ -258,6 +258,14 @@ class TestEnvVarStorage:
|
|||||||
with pytest.raises(NotImplementedError):
|
with pytest.raises(NotImplementedError):
|
||||||
storage.delete("test")
|
storage.delete("test")
|
||||||
|
|
||||||
|
def test_exists_matches_load_for_empty_value(self):
|
||||||
|
"""Test exists() and load() stay consistent for empty values."""
|
||||||
|
storage = EnvVarStorage(env_mapping={"empty": "EMPTY_API_KEY"})
|
||||||
|
|
||||||
|
with patch.object(storage, "_read_env_value", return_value=""):
|
||||||
|
assert storage.load("empty") is None
|
||||||
|
assert not storage.exists("empty")
|
||||||
|
|
||||||
|
|
||||||
class TestEncryptedFileStorage:
|
class TestEncryptedFileStorage:
|
||||||
"""Tests for EncryptedFileStorage."""
|
"""Tests for EncryptedFileStorage."""
|
||||||
|
|||||||
Reference in New Issue
Block a user