summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChengen Du <chengen.du@canonical.com>2023-02-15 15:34:55 +0800
committerTakashi Kajinami <tkajinam@redhat.com>2023-03-29 20:05:28 +0900
commit41a6b91362c3cf90bd3692c88b9840d6b1a8d56b (patch)
tree42ff3b38662feeb9189774d46b3bd434da9c2e9e
parentc50d720aa36fd7553b133a5a2f4fefdb3040211f (diff)
downloadheat-stable/yoga.tar.gz
Added a unit test for get_environment_hidden_param18.0.1stable/yoga
A unit test for verifying that hidden parameters should be masked in the get stack environment API Story: 2010555 Task: 47229 Change-Id: I44ef26849ebb450a5643907a0ef47166cfd9b1cb (cherry picked from commit bdcb2c3bd115f1893baeab1d946eefa4aab49552) (cherry picked from commit 89b57e5e2eee091f18afbc03e83536109388dcb6)
-rw-r--r--heat/tests/test_engine_service.py50
1 files changed, 50 insertions, 0 deletions
diff --git a/heat/tests/test_engine_service.py b/heat/tests/test_engine_service.py
index 9ce13e308..3e505e39a 100644
--- a/heat/tests/test_engine_service.py
+++ b/heat/tests/test_engine_service.py
@@ -991,6 +991,56 @@ class StackServiceTest(common.HeatTestCase):
# Verify
self.assertEqual(env, found)
+ def test_get_environment_hidden_param(self):
+ # Setup
+ env = {
+ 'parameters': {
+ 'admin': 'testuser',
+ 'pass': 'pa55w0rd'
+ },
+ 'parameter_defaults': {
+ 'secret': 'dummy'
+ },
+ 'resource_registry': {
+ 'res': 'resource.yaml'
+ }
+ }
+ t = {
+ 'heat_template_version': '2018-08-31',
+ 'parameters': {
+ 'admin': {'type': 'string'},
+ 'pass': {'type': 'string', 'hidden': True}
+ },
+ 'resources': {
+ 'res1': {'type': 'res'}
+ }
+ }
+ files = {
+ 'resource.yaml': '''
+ heat_template_version: 2018-08-31
+ parameters:
+ secret:
+ type: string
+ hidden: true
+ '''
+ }
+ tmpl = templatem.Template(t, files=files)
+ stack = parser.Stack(self.ctx, 'get_env_stack', tmpl)
+ stack.store()
+
+ mock_get_stack = self.patchobject(self.eng, '_get_stack')
+ mock_get_stack.return_value = mock.MagicMock()
+ mock_get_stack.return_value.raw_template.environment = env
+ self.patchobject(templatem.Template, 'load', return_value=tmpl)
+
+ # Test
+ found = self.eng.get_environment(self.ctx, stack.identifier())
+
+ # Verify
+ env['parameters']['pass'] = '******'
+ env['parameter_defaults']['secret'] = '******'
+ self.assertEqual(env, found)
+
def test_get_environment_no_env(self):
# Setup
exc = exception.EntityNotFound(entity='stack', name='missing')