From 564a2841c441f796d77bb30fd220092c204f1e09 Mon Sep 17 00:00:00 2001 From: Kegan Maher Date: Thu, 8 Feb 2024 01:04:13 +0000 Subject: [PATCH] fix(secrets): env vars can't contain hyphens --- benefits/secrets.py | 3 ++- tests/pytest/test_secrets.py | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/benefits/secrets.py b/benefits/secrets.py index 0d1668d5e1..08de136929 100644 --- a/benefits/secrets.py +++ b/benefits/secrets.py @@ -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 diff --git a/tests/pytest/test_secrets.py b/tests/pytest/test_secrets.py index 0d43415301..53359a9820 100644 --- a/tests/pytest/test_secrets.py +++ b/tests/pytest/test_secrets.py @@ -142,6 +142,7 @@ 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 @@ -149,5 +150,5 @@ def test_get_secret_by_name__local__returns_environment_variable(mocker, setting 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