aboutsummaryrefslogtreecommitdiffstats
path: root/ice_validator/tests/test_nested_parameters.py
diff options
context:
space:
mode:
authorstark, steven <steven.stark@att.com>2019-01-28 14:59:01 -0800
committerstark, steven <steven.stark@att.com>2019-01-29 08:03:41 -0800
commit48a07b6942d3956666d30947372653feb702fdae (patch)
tree5a5fc3135f2703ad19543b78e661ea954e98bb33 /ice_validator/tests/test_nested_parameters.py
parent43130f8b173d9053ad4f56f264376851d3fb890c (diff)
[VVP] stand alone tool, script updates
1) Validation script updates: Various bug fixes and script enhancements New tests for: R-18683 R-94669 R-304011 R-01455 R-86476 R-708564 R-85734 R-18683 R-94669 R-304011 R-01455 R-86476 R-86476 R-589037 Removed tests for: R-75202 R-62954 R-22441 R-49177 R-16576 R-86237 R-44491 R-70757 R-01896 R-26124 2) Stand Alone tool introduced 3) Added optional "categories" capability Change-Id: I193cd5c267750791d97b350e91fc36faa72d8d5f Issue-ID: VVP-143 Signed-off-by: stark, steven <steven.stark@att.com>
Diffstat (limited to 'ice_validator/tests/test_nested_parameters.py')
-rw-r--r--ice_validator/tests/test_nested_parameters.py99
1 files changed, 38 insertions, 61 deletions
diff --git a/ice_validator/tests/test_nested_parameters.py b/ice_validator/tests/test_nested_parameters.py
index 3e3bb06..5c93e77 100644
--- a/ice_validator/tests/test_nested_parameters.py
+++ b/ice_validator/tests/test_nested_parameters.py
@@ -2,7 +2,7 @@
# ============LICENSE_START====================================================
# org.onap.vvp/validation-scripts
# ===================================================================
-# Copyright © 2017 AT&T Intellectual Property. All rights reserved.
+# Copyright © 2019 AT&T Intellectual Property. All rights reserved.
# ===================================================================
#
# Unless otherwise specified, all software contained herein is licensed
@@ -40,17 +40,15 @@
"""heat parameters
"""
-
import pytest
from tests import cached_yaml as yaml
from tests.structures import Resource
-
from .helpers import validates
VERSION = "1.0.0"
-def check_nested_parameter_doesnt_change(yaml_file, parameter):
+def check_nested_parameter_doesnt_change(yaml_file):
with open(yaml_file) as fh:
yml = yaml.load(fh)
@@ -62,37 +60,51 @@ def check_nested_parameter_doesnt_change(yaml_file, parameter):
invalid_parameters = []
"""
- checking if property: { get_param: <parameter> }, then property == <parameter>
+ checking if property: { get_param: parameter }, then property == parameter
resource_id:
type: nested.yaml
properties:
- property: { get_param: <parameter> }
+ property: { get_param: parameter }
resource_id:
type: OS::Heat::ResourceGroup
properties:
resource_def:
properties:
- property: { get_param: <parameter> }
+ property: { get_param: parameter }
"""
for resource_id, resource in yml.get("resources", {}).items():
- r = Resource(resource_id=resource_id, resource=resource)
- properties = r.get_nested_properties()
- for k1, v1 in properties.items():
- if (
- isinstance(v1, dict)
- and "get_param" in v1
- and parameter == v1.get("get_param")
- ):
- if k1 != parameter:
- invalid_parameters.append(
- {
- "resource": r.resource_id,
- "nested parameter": k1,
- "parameter": parameter,
- }
- )
+ resource_type = resource.get("type")
+ if resource_type and (
+ resource_type.endswith("yaml")
+ or resource_type.endswith("yml")
+ or resource_type == "OS::Heat::ResourceGroup"
+ ):
+ # workaround for subinterfaces
+ metadata = resource.get("metadata")
+ if metadata:
+ subinterface_type = metadata.get("subinterface_type")
+ if subinterface_type and subinterface_type == "network_collection":
+ continue
+
+ r = Resource(resource_id=resource_id, resource=resource)
+ properties = r.get_nested_properties()
+ for k1, v1 in properties.items():
+ if isinstance(v1, dict) and "get_param" in v1:
+ parameter = v1.get("get_param")
+ if isinstance(parameter, list):
+ parameter = parameter[0]
+
+ if k1 != parameter:
+ invalid_parameters.append(
+ {
+ "resource": r.resource_id,
+ "nested parameter": k1,
+ "parameter": parameter,
+ "file": yaml_file,
+ }
+ )
assert (
not invalid_parameters
@@ -101,41 +113,6 @@ def check_nested_parameter_doesnt_change(yaml_file, parameter):
)
-@validates("R-70757")
-def test_vm_role_doesnt_change_in_nested_template(yaml_file):
- check_nested_parameter_doesnt_change(yaml_file, "vm_role")
-
-
-@validates("R-44491")
-def test_vnf_id_doesnt_change_in_nested_template(yaml_file):
- check_nested_parameter_doesnt_change(yaml_file, "vnf_id")
-
-
-@validates("R-86237")
-def test_vf_module_id_doesnt_change_in_nested_template(yaml_file):
- check_nested_parameter_doesnt_change(yaml_file, "vf_module_id")
-
-
-@validates("R-16576")
-def test_vnf_name_doesnt_change_in_nested_template(yaml_file):
- check_nested_parameter_doesnt_change(yaml_file, "vnf_name")
-
-
-@validates("R-49177")
-def test_vf_module_name_doesnt_change_in_nested_template(yaml_file):
- check_nested_parameter_doesnt_change(yaml_file, "vf_module_name")
-
-
-@validates("R-22441")
-def test_vf_module_index_name_doesnt_change_in_nested_template(yaml_file):
- check_nested_parameter_doesnt_change(yaml_file, "vf_module_index")
-
-
-@validates("R-62954")
-def test_environment_context_name_doesnt_change_in_nested_template(yaml_file):
- check_nested_parameter_doesnt_change(yaml_file, "environment_context")
-
-
-@validates("R-75202")
-def test_workload_context_name_doesnt_change_in_nested_template(yaml_file):
- check_nested_parameter_doesnt_change(yaml_file, "workload_context")
+@validates("R-708564")
+def test_parameter_name_doesnt_change_in_nested_template(yaml_file):
+ check_nested_parameter_doesnt_change(yaml_file)