Skip to content

Commit d002536

Browse files
chore: cleaning up and adding comments
1 parent 71f0f08 commit d002536

File tree

2 files changed

+25
-1
lines changed

2 files changed

+25
-1
lines changed

application_sdk/services/secretstore.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -163,7 +163,10 @@ def _fetch_single_key_secrets(
163163
single_secret = cls.get_secret(value)
164164
if single_secret:
165165
for k, v in single_secret.items():
166-
if not v:
166+
# Only filter out None and empty strings, not all falsy values.
167+
# This preserves valid secret values like False, 0, 0.0 which are
168+
# legitimate secret values that should not be excluded.
169+
if v is None or v == "":
167170
continue
168171
collected[k] = v
169172
except Exception as e:

tests/unit/common/test_credential_utils.py

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -275,6 +275,27 @@ def test_fetch_single_key_secrets_with_empty_values(self, mock_get_secret):
275275
assert "empty" not in result
276276
assert "null" not in result
277277

278+
@patch("application_sdk.services.secretstore.SecretStore.get_secret")
279+
def test_fetch_single_key_secrets_preserves_falsy_values(self, mock_get_secret):
280+
"""Test that valid falsy values (False, 0) are preserved and not filtered out."""
281+
credential_config = {
282+
"enabled": "enabled_secret_key",
283+
"port": "port_secret_key",
284+
"count": "count_secret_key",
285+
}
286+
287+
mock_get_secret.side_effect = [
288+
{"enabled_secret_key": False}, # Boolean False should be preserved
289+
{"port_secret_key": 0}, # Integer 0 should be preserved
290+
{"count_secret_key": 0.0}, # Float 0.0 should be preserved
291+
]
292+
293+
result = SecretStore._fetch_single_key_secrets(credential_config)
294+
295+
assert result["enabled_secret_key"] is False
296+
assert result["port_secret_key"] == 0
297+
assert result["count_secret_key"] == 0.0
298+
278299
@patch("application_sdk.services.secretstore.SecretStore.get_secret")
279300
def test_fetch_single_key_secrets_with_exceptions(self, mock_get_secret):
280301
"""Test fetching secrets in single-key mode when some lookups fail."""

0 commit comments

Comments
 (0)