Skip to content

Commit

Permalink
fix(secrets): env vars can't contain hyphens
Browse files Browse the repository at this point in the history
  • Loading branch information
thekaveman committed Feb 8, 2024
1 parent dd8263a commit 564a284
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 2 deletions.
3 changes: 2 additions & 1 deletion benefits/secrets.py
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,8 @@ def get_secret_by_name(secret_name, client=None):

if runtime_env == "local":
logger.debug("Runtime environment is local, reading from environment instead of Azure KeyVault.")
return os.environ.get(secret_name)
env_secret_name = secret_name.replace("-", "_")
return os.environ.get(env_secret_name)

elif client is None:
# construct the KeyVault URL from the runtime environment
Expand Down
3 changes: 2 additions & 1 deletion tests/pytest/test_secrets.py
Original file line number Diff line number Diff line change
Expand Up @@ -142,12 +142,13 @@ def test_get_secret_by_name__local__returns_environment_variable(mocker, setting
settings.RUNTIME_ENVIRONMENT = lambda: "local"

env_spy = mocker.patch("benefits.secrets.os.environ.get", return_value=secret_value)
env_secret_name = secret_name.replace("-", "_")
client_cls = mocker.patch("benefits.secrets.SecretClient")
client = client_cls.return_value

actual_value = get_secret_by_name(secret_name)

client_cls.assert_not_called()
client.get_secret.assert_not_called()
env_spy.assert_called_once_with(secret_name)
env_spy.assert_called_once_with(env_secret_name)
assert actual_value == secret_value

0 comments on commit 564a284

Please sign in to comment.