Change-Id: Iff7630a6f62fa8b83c80048d6efc12d187037412
Issue-ID: VVP-157
Signed-off-by: stark, steven <steven.stark@att.com>
from tests import cached_yaml as yaml
from tests.structures import Resource
from .helpers import validates
from tests import cached_yaml as yaml
from tests.structures import Resource
from .helpers import validates
+from .utils.nested_iterables import is_pseudo_param
pytest.skip("No resources specified in the heat template")
invalid_parameters = []
pytest.skip("No resources specified in the heat template")
invalid_parameters = []
"""
checking if property: { get_param: parameter }, then property == parameter
"""
checking if property: { get_param: parameter }, then property == parameter
if isinstance(parameter, list):
parameter = parameter[0]
if isinstance(parameter, list):
parameter = parameter[0]
+ if is_pseudo_param(parameter):
+ continue
+
if k1 != parameter:
invalid_parameters.append(
{
if k1 != parameter:
invalid_parameters.append(
{
+def is_pseudo_param(parameter):
+ pseudo_parameters = ["OS::stack_name", "OS::stack_id", "OS::project_id"]
+ return parameter in pseudo_parameters
+
+
def parse_nested_dict(d, key=""):
"""
parse the nested dictionary and return values of
def parse_nested_dict(d, key=""):
"""
parse the nested dictionary and return values of
Recursively find all referenced parameters in a parsed yaml body
and return a list of parameters
"""
Recursively find all referenced parameters in a parsed yaml body
and return a list of parameters
"""
- os_pseudo_parameters = ["OS::stack_name", "OS::stack_id", "OS::project_id"]
if not hasattr(yml, "items"):
return []
params = []
for k, v in yml.items():
if not hasattr(yml, "items"):
return []
params = []
for k, v in yml.items():
- if k == "get_param" and v not in os_pseudo_parameters:
+ if k == "get_param" and not is_pseudo_param(v):
if isinstance(v, list) and not isinstance(v[0], dict):
params.append(v[0])
elif not isinstance(v, dict) and isinstance(v, str):
if isinstance(v, list) and not isinstance(v[0], dict):
params.append(v[0])
elif not isinstance(v, dict) and isinstance(v, str):