Code Review
/
vvp
/
validation-scripts.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
Merge "Remove unnecessary check for pytest.skip"
[vvp/validation-scripts.git]
/
ice_validator
/
tests
/
test_unique_resources_across_all_templates.py
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
..
63ff618
100644
(file)
--- 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
# ===================================================================
# ============LICENSE_START=======================================================
# org.onap.vvp/validation-scripts
# ===================================================================
-# Copyright © 201
8
AT&T Intellectual Property. All rights reserved.
+# Copyright © 201
7
AT&T Intellectual Property. All rights reserved.
# ===================================================================
#
# Unless otherwise specified, all software contained herein is licensed
# ===================================================================
#
# Unless otherwise specified, all software contained herein is licensed
@@
-35,32
+35,37
@@
#
# ============LICENSE_END============================================
#
#
# ============LICENSE_END============================================
#
-# ECOMP is a trademark and service mark of AT&T Intellectual Property.
#
import collections
#
import collections
+import os
from tests import cached_yaml as yaml
from .helpers import validates
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):
def test_unique_resources_across_all_yaml_files(yaml_files):
- '''
+ """
Check that all instance names are unique
across all 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)
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
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