From 1f4df7c7ad27b23773ad9cdbe4db1632ce388cf1 Mon Sep 17 00:00:00 2001 From: "stark, steven" Date: Mon, 17 Dec 2018 12:43:02 -0800 Subject: [VVP] updating validation scripts in dublin - adding backlog of new validation scripts for dublin - updating existing tests - removing outdated tests Issue-ID: VVP-123 Change-Id: Ib8260889ac957c1dd28d8ede450fc8edc6fb0ec0 Signed-off-by: stark, steven --- ice_validator/tests/test_subnet_format.py | 127 ------------------------------ 1 file changed, 127 deletions(-) delete mode 100644 ice_validator/tests/test_subnet_format.py (limited to 'ice_validator/tests/test_subnet_format.py') diff --git a/ice_validator/tests/test_subnet_format.py b/ice_validator/tests/test_subnet_format.py deleted file mode 100644 index bc183ef..0000000 --- a/ice_validator/tests/test_subnet_format.py +++ /dev/null @@ -1,127 +0,0 @@ -# -*- coding: utf8 -*- -# ============LICENSE_START======================================================= -# org.onap.vvp/validation-scripts -# =================================================================== -# Copyright © 2017 AT&T Intellectual Property. All rights reserved. -# =================================================================== -# -# Unless otherwise specified, all software contained herein is licensed -# under the Apache License, Version 2.0 (the "License"); -# you may not use this software except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# -# -# Unless otherwise specified, all documentation contained herein is licensed -# under the Creative Commons License, Attribution 4.0 Intl. (the "License"); -# you may not use this documentation except in compliance with the License. -# You may obtain a copy of the License at -# -# https://creativecommons.org/licenses/by/4.0/ -# -# Unless required by applicable law or agreed to in writing, documentation -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# ============LICENSE_END============================================ -# -# ECOMP is a trademark and service mark of AT&T Intellectual Property. -# - -import re - -import pytest -from tests import cached_yaml as yaml - -from .utils.network_roles import get_network_role_from_port, \ - property_uses_get_resource - - -def test_subnet_format(heat_template): - ''' - Make sure all subnet properties follow the allowed naming - conventions - ''' - formats = [ - ["subnet_id", "string", "internal", - re.compile(r'int_(.+?)_subnet_id')], - ["subnet_id", "string", "internal", - re.compile(r'int_(.+?)_v6_subnet_id')], - ["subnet_id", "string", "external", - re.compile(r'(.+?)_subnet_id')], - ["subnet_id", "string", "external", - re.compile(r'(.+?)_v6_subnet_id')]] - - with open(heat_template) as fh: - yml = yaml.load(fh) - - # skip if resources are not defined - if "resources" not in yml: - pytest.skip("No resources specified in the heat template") - - invalid_subnets = [] - for v1 in yml["resources"].values(): - if not isinstance(v1, dict): - continue - if "properties" not in v1: - continue - if v1.get("type") != "OS::Neutron::Port": - continue - if property_uses_get_resource(v1, "network"): - continue - network_role = get_network_role_from_port(v1) - - # get the network param to define the network_type - try: - network_param = v1["properties"]["network"]["get_param"] - except KeyError: - continue - - # define the network_type - network_type = 'external' - if network_param.startswith('int_'): - network_type = 'internal' - - for k2, v2 in v1["properties"].items(): - if k2 != "fixed_ips": - continue - - for v3 in v2: - if "subnet_id" not in v3: - continue - - subnet_id = v3["subnet_id"] - for v4 in formats: - if v4[2] != network_type: - continue - - # get the param or resource - if network_type == "external": - param_or_res = subnet_id["get_param"] - elif network_type == "internal": - if subnet_id.get("get_param"): - param_or_res = subnet_id["get_param"] - elif subnet_id.get("get_resource"): - param_or_res = subnet_id["get_resource"] - else: - continue - else: - continue - - m = v4[3].match(param_or_res) - if m and m.group(1): - snr = m.group(1) - if snr.replace("_v6", "") != network_role: - invalid_subnets.append(param_or_res) - - assert not set(invalid_subnets) -- cgit 1.2.3-korg