X-Git-Url: https://gerrit.onap.org/r/gitweb?p=vvp%2Fvalidation-scripts.git;a=blobdiff_plain;f=ice_validator%2Ftests%2Ftest_ip_parameters_start_at_0.py;h=c295d697ff5323dc1668748f4f3d089a564b7da9;hp=e163b09be41d9443af30ad1435611c77d01cc3b3;hb=2282c6dcfd84f1176c7edb29b2d75537fb6fdd77;hpb=0e1794537b96149737abf4e6373665eee3579ffe 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)