diff options
Diffstat (limited to 'ice_validator/tests')
-rw-r--r-- | ice_validator/tests/fixtures/test_non_server_name/pass/pass0.yaml | 20 | ||||
-rw-r--r-- | ice_validator/tests/structures.py | 12 |
2 files changed, 29 insertions, 3 deletions
diff --git a/ice_validator/tests/fixtures/test_non_server_name/pass/pass0.yaml b/ice_validator/tests/fixtures/test_non_server_name/pass/pass0.yaml index ca80c87..267d0b2 100644 --- a/ice_validator/tests/fixtures/test_non_server_name/pass/pass0.yaml +++ b/ice_validator/tests/fixtures/test_non_server_name/pass/pass0.yaml @@ -52,6 +52,26 @@ parameters: resources: + testr0: + type: testr + properties: + name: + str_replace: + template: vnfname_param + params: + vnfname: { get_param: vnf_name } + param: { get_param: [params, 0]} + + testr1: + type: testr + properties: + name: + str_replace: + template: vnfname_param + params: + vnfname: { get_param: vnf_name } + param: { get_param: [params, 1]} + vm_typeX_0_bialy_port_2: type: OS::Neutron::Port properties: diff --git a/ice_validator/tests/structures.py b/ice_validator/tests/structures.py index e81f3a1..a6b2015 100644 --- a/ice_validator/tests/structures.py +++ b/ice_validator/tests/structures.py @@ -85,13 +85,19 @@ class HeatProcessor(object): # regex parses the proper resource id format. @staticmethod - def get_param_value(value): + def get_param_value(value, withIndex=False): """Return get_param value of `value` """ if isinstance(value, dict) and len(value) == 1: v = value.get("get_param") if isinstance(v, list) and v: - v = v[0] + if withIndex and len(v) > 1: + idx = v[1] + if isinstance(idx, dict): + idx = idx.get("get_param", idx) + v = "{}{}".format(v[0], idx) + else: + v = v[0] else: v = None return v @@ -161,7 +167,7 @@ class HeatProcessor(object): # are replaced in the template in arbitrary order. name = template for key, value in params.items(): - param = cls.get_param_value(value) + param = cls.get_param_value(value, withIndex=True) if param is None: return None name = name.replace(key, str(param)) |