Browse Source

Merge "Add regression tests for conditional outputs in nested stacks"

changes/97/688597/1
Zuul 2 years ago
committed by Gerrit Code Review
parent
commit
89ab96176f
  1. 61
      heat_integrationtests/functional/test_conditions.py

61
heat_integrationtests/functional/test_conditions.py

@ -619,3 +619,64 @@ class CreateUpdateResConditionTest(functional_base.FunctionalTestsBase):
self.update_stack(stack_identifier, template=fail_rename_tmpl,
expected_status='UPDATE_FAILED')
self.update_stack(stack_identifier, template=recover_rename_tmpl)
root_output_tmpl = '''
heat_template_version: 2016-10-14
parameters:
env_type:
type: string
default: test
conditions:
cd1: {equals : [{get_param: env_type}, "prod"]}
resources:
nested:
type: nested_output.yaml
properties:
env_type: {get_param: env_type}
outputs:
standard:
value: {get_attr: [nested, standard]}
cond:
value: {get_attr: [nested, cond]}
condition: cd1
cond_value:
value: {get_attr: [nested, cond_value]}
'''
nested_output_tmpl = '''
heat_template_version: 2016-10-14
parameters:
env_type:
type: string
conditions:
cd1: {equals : [{get_param: env_type}, "prod"]}
outputs:
standard:
value: hello
cond:
value: world
condition: cd1
cond_value:
value: {if: [cd1, 'prod', 'test']}
'''
class CreateNestedOutputConditionTest(functional_base.FunctionalTestsBase):
def test_condition_nested_outputs(self):
stack_identifier = self.stack_create(template=root_output_tmpl,
files={'nested_output.yaml':
nested_output_tmpl})
standard = self.client.stacks.output_show(stack_identifier,
'standard')['output']
self.assertEqual('hello', standard['output_value'])
cond = self.client.stacks.output_show(stack_identifier,
'cond')['output']
self.assertIsNone(cond['output_value'])
cond_val = self.client.stacks.output_show(stack_identifier,
'cond_value')['output']
self.assertEqual('test', cond_val['output_value'])
Loading…
Cancel
Save