diff options
author | stark, steven <steven.stark@att.com> | 2018-12-17 12:43:02 -0800 |
---|---|---|
committer | stark, steven <steven.stark@att.com> | 2018-12-17 13:04:00 -0800 |
commit | 1f4df7c7ad27b23773ad9cdbe4db1632ce388cf1 (patch) | |
tree | 8092104f8be23051ff81c9f71ee34116df4d33ba /ice_validator/tests/test_unique_resources_across_all_templates.py | |
parent | ca9085f0f77d442d3741a8c754e65cc45b6a318d (diff) |
[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 <steven.stark@att.com>
Diffstat (limited to 'ice_validator/tests/test_unique_resources_across_all_templates.py')
-rw-r--r-- | ice_validator/tests/test_unique_resources_across_all_templates.py | 28 |
1 files changed, 17 insertions, 11 deletions
diff --git a/ice_validator/tests/test_unique_resources_across_all_templates.py b/ice_validator/tests/test_unique_resources_across_all_templates.py index f6a5f3a..f85ec57 100644 --- a/ice_validator/tests/test_unique_resources_across_all_templates.py +++ b/ice_validator/tests/test_unique_resources_across_all_templates.py @@ -2,7 +2,7 @@ # ============LICENSE_START======================================================= # org.onap.vvp/validation-scripts # =================================================================== -# Copyright © 2018 AT&T Intellectual Property. All rights reserved. +# Copyright © 2017 AT&T Intellectual Property. All rights reserved. # =================================================================== # # Unless otherwise specified, all software contained herein is licensed @@ -39,28 +39,34 @@ # import collections +import os from tests import cached_yaml as yaml from .helpers import validates -@validates('R-16447') +@validates("R-16447") def test_unique_resources_across_all_yaml_files(yaml_files): - ''' + """ Check that all instance names are unique across all yaml files. - ''' - resources_ids = [] + """ + resources_ids = collections.defaultdict(set) for yaml_file in yaml_files: with open(yaml_file) as fh: yml = yaml.load(fh) - if 'resources' not in yml: + if "resources" not in yml: continue - resources_ids.extend(yml['resources'].keys()) + for resource_id in yml["resources"]: + resources_ids[resource_id].add(os.path.split(yaml_file)[1]) - dup_ids = [item - for item, count in collections.Counter(resources_ids).items() - if count > 1] + dup_ids = {r_id: files for r_id, files in resources_ids.items() if len(files) > 1} - assert not dup_ids + msg = "The following resource IDs are duplicated in one or more files: " + errors = [ + "ID ({}) appears in {}.".format(r_id, ", ".join(files)) + for r_id, files in dup_ids.items() + ] + msg += ", ".join(errors) + assert not dup_ids, msg |