Skip to content

Commit

Permalink
[AIRFLOW-5705] Fix bug in Secrets Backend (#7742)
Browse files Browse the repository at this point in the history
  • Loading branch information
kaxil committed Mar 17, 2020
1 parent a8b5fc7 commit 4ff9d63
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 3 deletions.
4 changes: 2 additions & 2 deletions airflow/secrets/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -79,10 +79,10 @@ def initialize_secrets_backends() -> List[BaseSecretsBackend]:
* import secrets backend classes
* instantiate them and return them in a list
"""
alternative_secrets_backend = conf.get(section=CONFIG_SECTION, key='class_name', fallback='')
alternative_secrets_backend = conf.get(section=CONFIG_SECTION, key='backend', fallback='')
try:
alternative_secrets_config_dict = json.loads(
conf.get(section=CONFIG_SECTION, key='config_json', fallback='{}')
conf.get(section=CONFIG_SECTION, key='backend_kwargs', fallback='{}')
)
except JSONDecodeError:
alternative_secrets_config_dict = {}
Expand Down
14 changes: 13 additions & 1 deletion tests/secrets/test_secrets.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,8 @@
import unittest
from unittest import mock

from airflow.secrets import get_connections
from airflow.secrets import get_connections, initialize_secrets_backends
from tests.test_utils.config import conf_vars


class TestSecrets(unittest.TestCase):
Expand All @@ -39,6 +40,17 @@ def test_get_connections_first_try(self, mock_env_get, mock_meta_get):
mock_env_get.assert_called_once_with(conn_id="fake_conn_id")
mock_meta_get.not_called()

@conf_vars({
("secrets", "backend"): "airflow.providers.amazon.aws.secrets.ssm.AwsSsmSecretsBackend",
("secrets", "backend_kwargs"): '{"prefix": "/airflow", "profile_name": null}',
})
def test_initialize_secrets_backends(self):
backends = initialize_secrets_backends()
backend_classes = [backend.__class__.__name__ for backend in backends]

self.assertEqual(3, len(backends))
self.assertIn('AwsSsmSecretsBackend', backend_classes)


if __name__ == "__main__":
unittest.main()

0 comments on commit 4ff9d63

Please sign in to comment.