diff options
author | stark, steven <steven.stark@att.com> | 2019-01-28 14:59:01 -0800 |
---|---|---|
committer | stark, steven <steven.stark@att.com> | 2019-01-29 08:03:41 -0800 |
commit | 48a07b6942d3956666d30947372653feb702fdae (patch) | |
tree | 5a5fc3135f2703ad19543b78e661ea954e98bb33 /ice_validator/tests/test_non_server_name.py | |
parent | 43130f8b173d9053ad4f56f264376851d3fb890c (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.py | 34 |
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()), + ) |