aboutsummaryrefslogtreecommitdiffstats
path: root/ice_validator/tests/test_non_server_name.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_non_server_name.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_non_server_name.py')
-rw-r--r--ice_validator/tests/test_non_server_name.py34
1 files changed, 30 insertions, 4 deletions
diff --git a/ice_validator/tests/test_non_server_name.py b/ice_validator/tests/test_non_server_name.py
index 7d88155..f47e078 100644
--- a/ice_validator/tests/test_non_server_name.py
+++ b/ice_validator/tests/test_non_server_name.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
@@ -42,12 +42,15 @@
resource property name
"""
+import collections
+
import pytest
from .structures import Heat
+from .structures import HeatProcessor
from .helpers import validates
-VERSION = "1.1.0"
+VERSION = "1.2.0"
def get_non_servers(heat):
@@ -67,7 +70,7 @@ def test_non_server_name(heat_template):
"""
If a VNF's Heat Orchestration Template contains the property ``name``
for a non ``OS::Nova::Server`` resource, the intrinsic function
- ``str_replace`` **MUST** be used in conjunction with the ECOMP
+ ``str_replace`` **MUST** be used in conjunction with the ONAP
supplied metadata parameter ``vnf_name`` to generate a unique value.
"""
@@ -138,6 +141,29 @@ def test_non_server_name(heat_template):
+ "template ({})"
).format(rid, vnf_name_param, template)
)
- msg = "Improper name property for non-OS::Nova::Server resources. " + ". ".join(bad)
+ msg = (
+ "Improper name property for" " non-OS::Nova::Server resources. "
+ ) + ". ".join(bad)
assert not bad, msg
+
+
+@validates("R-85734")
+def test_non_server_name_unique(yaml_files):
+ """Test name has unique value
+ """
+ non_servers = {}
+ for yaml_file in yaml_files:
+ h = Heat(filepath=yaml_file)
+ non_servers.update(get_non_servers(h))
+ names = collections.defaultdict(set)
+ for rid, resource in non_servers.items():
+ name = HeatProcessor.get_str_replace_name(resource)
+ if name:
+ names[name].add(rid)
+ bad = {key: value for key, value in names.items() if len(value) > 1}
+ delim = "\n" + 4 * " "
+ assert not bad, "Names must be unique," " not shared across resource ids.%s%s" % (
+ delim,
+ delim.join("%s: %s" % (name, list(value)) for name, value in bad.items()),
+ )