aboutsummaryrefslogtreecommitdiffstats
path: root/ice_validator/tests/test_nova_servers_workload_context.py
diff options
context:
space:
mode:
Diffstat (limited to 'ice_validator/tests/test_nova_servers_workload_context.py')
-rw-r--r--ice_validator/tests/test_nova_servers_workload_context.py55
1 files changed, 29 insertions, 26 deletions
diff --git a/ice_validator/tests/test_nova_servers_workload_context.py b/ice_validator/tests/test_nova_servers_workload_context.py
index 650a6e1..5703f75 100644
--- a/ice_validator/tests/test_nova_servers_workload_context.py
+++ b/ice_validator/tests/test_nova_servers_workload_context.py
@@ -38,24 +38,28 @@
# ECOMP is a trademark and service mark of AT&T Intellectual Property.
#
-'''workload context
-'''
+"""workload context
+"""
import pytest
from tests import cached_yaml as yaml
from .helpers import validates
-VERSION = '1.0.0'
+VERSION = "1.0.0"
-@validates('R-74978')
+@validates("R-74978")
def test_workload_context(heat_template):
- '''
+ """
+ A VNF's Heat Orchestration Template's OS::Nova::Server Resource
+ **MUST**
+ contain the metadata map value parameter 'workload_context'.
+
A VNF's Heat Orchestration Template's OS::Nova::Server Resource
metadata map value parameter 'workload_context' **MUST**
be declared as type: 'string'.
- '''
+ """
with open(heat_template) as fh:
yml = yaml.load(fh)
@@ -65,38 +69,37 @@ def test_workload_context(heat_template):
pytest.skip("No resources specified in the heat template")
for resource, v in yml["resources"].items():
- if (not isinstance(v, dict)
- or v.get('type') != 'OS::Nova::Server'
- or 'properties' not in v):
+ if (
+ not isinstance(v, dict)
+ or v.get("type") != "OS::Nova::Server"
+ or "properties" not in v
+ ):
continue
- metadata = v['properties'].get('metadata')
+ metadata = v["properties"].get("metadata")
if not isinstance(metadata, dict):
continue
- error = validate_metadata(metadata, yml['parameters'])
+ error = validate_metadata(metadata, yml["parameters"])
if error:
- assert False, '%s resource "%s" %s' % (
- heat_template,
- resource,
- error)
+ assert False, '%s resource "%s" %s' % (heat_template, resource, error)
def validate_metadata(metadata, parameters):
- '''validate metatdata.
- Ensure metadata references parameter workload_context
- is a string.
+ """validate metatdata.
+ Ensure metadata references parameter workload_context,
+ and that it is a string.
Return error message string or None if no errors.
- '''
+ """
for value in metadata.values():
if isinstance(value, dict):
- if 'get_param' in value:
- if value['get_param'] == 'workload_context':
- wc = parameters.get('workload_context', {})
- if wc.get('type') == 'string':
+ if "get_param" in value:
+ if value["get_param"] == "workload_context":
+ wc = parameters.get("workload_context", {})
+ if wc.get("type") == "string":
break
else:
- return ('must have parameter "workload_context"'
- ' of type "string"')
+ return (
+ 'must have parameter "workload_context"' ' of type "string"'
+ )
break
else:
return None
-