diff options
author | stark, steven <steven.stark@att.com> | 2019-04-19 16:17:58 -0700 |
---|---|---|
committer | stark, steven <steven.stark@att.com> | 2019-04-22 16:07:01 -0700 |
commit | 684ad537becece9df772b04d0d8226bcb7c30ca4 (patch) | |
tree | 1046d067fbde6209009c4247ad73453ac290672e /ice_validator/tests/helpers.py | |
parent | ac35c043b29a6c65a0c9ce932aa12e1f406ff44c (diff) |
[VVP] updating nested parameter test
R-708564 was updated in RTD to target explicit parameters
Change-Id: If860903ae13b76543c43f3e805b8aa03e9e2019d
Issue-ID: VVP-197
Signed-off-by: stark, steven <steven.stark@att.com>
Diffstat (limited to 'ice_validator/tests/helpers.py')
-rw-r--r-- | ice_validator/tests/helpers.py | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/ice_validator/tests/helpers.py b/ice_validator/tests/helpers.py index 5744945..afa8672 100644 --- a/ice_validator/tests/helpers.py +++ b/ice_validator/tests/helpers.py @@ -307,3 +307,20 @@ def parameter_type_to_heat_type(parameter): parameter_type = None return parameter_type + + +def prop_iterator(resource, *props): + terminators = ["get_resource", "get_attr", "str_replace"] + if "properties" in resource: + resource = resource.get("properties") + props = list(props) + + if isinstance(resource, dict) and "get_param" in resource: + yield resource.get("get_param") + else: + prop = resource.get(props.pop(0)) + if isinstance(prop, list): + for x in prop: + yield from prop_iterator(x, *props) + elif isinstance(prop, dict) and not any(x for x in terminators if x in prop): + yield from prop_iterator(prop, *props) |