diff options
author | stark, steven <steven.stark@att.com> | 2019-04-09 16:51:43 -0700 |
---|---|---|
committer | stark, steven <steven.stark@att.com> | 2019-04-09 16:52:44 -0700 |
commit | 2282c6dcfd84f1176c7edb29b2d75537fb6fdd77 (patch) | |
tree | 0caeb8a7c40d855e995b16786cef7f9608dd34df /ice_validator/tests/test_ip_parameters_start_at_0.py | |
parent | 0e1794537b96149737abf4e6373665eee3579ffe (diff) |
[VVP] restricting ip index check to resources
Restricting check for ip parameter indices to only those parameters
that are used in OS::Neutron::Port
Issue-ID: VVP-190
Change-Id: Ifaf1a40ee47bcaf83657fe58a33e229c4126b4e8
Signed-off-by: stark, steven <steven.stark@att.com>
Diffstat (limited to 'ice_validator/tests/test_ip_parameters_start_at_0.py')
-rw-r--r-- | ice_validator/tests/test_ip_parameters_start_at_0.py | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/ice_validator/tests/test_ip_parameters_start_at_0.py b/ice_validator/tests/test_ip_parameters_start_at_0.py index e163b09..c295d69 100644 --- a/ice_validator/tests/test_ip_parameters_start_at_0.py +++ b/ice_validator/tests/test_ip_parameters_start_at_0.py @@ -38,6 +38,7 @@ import re from tests.helpers import validates, check_indices from tests.structures import Heat +from tests.utils import nested_dict IP_PARAM_PATTERN = re.compile(r"^(.*_ip_)(\d+)$") @@ -45,6 +46,19 @@ IP_PARAM_PATTERN = re.compile(r"^(.*_ip_)(\d+)$") @validates("R-71577", "R-40971") def test_ips_start_at_0(yaml_file): - params = Heat(yaml_file).parameters - invalid_params = check_indices(IP_PARAM_PATTERN, params, "IP Parameters") + heat = Heat(filepath=yaml_file) + ports = heat.get_resource_by_type("OS::Neutron::Port") + ip_parameters = [] + + for rid, resource in ports.items(): + fips = nested_dict.get(resource, "properties", "fixed_ips", default={}) + for fip in fips: + ip_address = fip.get("ip_address", {}) + param = ip_address.get("get_param") + if isinstance(param, list): + param = param[0] + if isinstance(param, str): + ip_parameters.append(param) + + invalid_params = check_indices(IP_PARAM_PATTERN, ip_parameters, "IP Parameters") assert not invalid_params, ". ".join(invalid_params) |