From b9eae4dc1503e3559a09bc2fa7703f224ef5d6b7 Mon Sep 17 00:00:00 2001 From: Kyler Nelson Date: Thu, 24 Feb 2022 14:02:37 -0700 Subject: [PATCH] KSM CLI - Expand hostname abbreviations in JSON profile export (#224) * Expand hostname abbreviations in JSON profile export * Update cli unit tests for JSON config hostname field --- .../keeper_secrets_manager_cli/export.py | 8 ++++++-- integration/keeper_secrets_manager_cli/tests/init_test.py | 6 +++--- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/integration/keeper_secrets_manager_cli/keeper_secrets_manager_cli/export.py b/integration/keeper_secrets_manager_cli/keeper_secrets_manager_cli/export.py index c5aad00d..26ff7b3c 100644 --- a/integration/keeper_secrets_manager_cli/keeper_secrets_manager_cli/export.py +++ b/integration/keeper_secrets_manager_cli/keeper_secrets_manager_cli/export.py @@ -4,6 +4,7 @@ import json from keeper_secrets_manager_core.utils import base64_to_bytes +from keeper_secrets_manager_core.keeper_globals import keeper_servers class Export: @@ -59,7 +60,7 @@ def _format_json(self): "clientId": {"key": "clientId", "isBase64": True}, "privateKey": {"key": "privateKey", "isBase64": True}, "appKey": {"key": "appKey", "isBase64": True}, - "hostname": {"key": "hostname", "isBase64": False}, + "hostname": {"key": "hostname", "isBase64": False, "transformMap": keeper_servers}, "serverPublicKeyId": {"key": "serverPublicKeyId", "isBase64": False} } @@ -72,5 +73,8 @@ def _format_json(self): # Encode a non-url safe base64 config_dict[info["key"]] = base64.b64encode(value_bytes).decode() else: - config_dict[info["key"]] = self.config[key] + if "transformMap" in info: + config_dict[info["key"]] = info["transformMap"].get(self.config[key], self.config[key]) + else: + config_dict[info["key"]] = self.config[key] return json.dumps(config_dict, indent=4) diff --git a/integration/keeper_secrets_manager_cli/tests/init_test.py b/integration/keeper_secrets_manager_cli/tests/init_test.py index a71687ae..c93a39bb 100644 --- a/integration/keeper_secrets_manager_cli/tests/init_test.py +++ b/integration/keeper_secrets_manager_cli/tests/init_test.py @@ -75,7 +75,7 @@ def test_default(self): self.assertIsNotNone(config.get("privateKey"), "private key is missing") self.assertIsNotNone(config.get("appKey"), "app key is missing") self.assertIsNotNone(config.get("hostname"), "hostname is missing") - self.assertEqual("US", config.get("hostname"), "hostname is not correct") + self.assertEqual("keepersecurity.com", config.get("hostname"), "hostname is not correct") self.assertEqual(mock_config.get("appKey"), config.get("appKey"), "app key is not correct") @@ -97,7 +97,7 @@ def test_default(self): self.assertIsNotNone(config.get("privateKey"), "private key is missing") self.assertIsNotNone(config.get("appKey"), "app key is missing") self.assertIsNotNone(config.get("hostname"), "hostname is missing") - self.assertEqual("US", config.get("hostname"), "hostname is not correct") + self.assertEqual("keepersecurity.com", config.get("hostname"), "hostname is not correct") self.assertEqual(mock_config.get("appKey"), config.get("appKey"), "app key is not correct") @@ -169,6 +169,6 @@ def test_k8s(self): self.assertIsNotNone(config.get("privateKey"), "private key is missing") self.assertIsNotNone(config.get("appKey"), "app key is missing") self.assertIsNotNone(config.get("hostname"), "hostname is missing") - self.assertEqual("US", config.get("hostname"), "hostname is not correct") + self.assertEqual("keepersecurity.com", config.get("hostname"), "hostname is not correct") self.assertEqual(mock_config.get("appKey"), config.get("appKey"), "app key is not correct")