--- /dev/null
+# -*- coding: utf8 -*-
+# ============LICENSE_START=======================================================
+# org.onap.vvp/validation-scripts
+# ===================================================================
+# Copyright © 2017 AT&T Intellectual Property. All rights reserved.
+# ===================================================================
+#
+# Unless otherwise specified, all software contained herein is licensed
+# under the Apache License, Version 2.0 (the "License");
+# you may not use this software except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+#
+#
+# Unless otherwise specified, all documentation contained herein is licensed
+# under the Creative Commons License, Attribution 4.0 Intl. (the "License");
+# you may not use this documentation except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# https://creativecommons.org/licenses/by/4.0/
+#
+# Unless required by applicable law or agreed to in writing, documentation
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# ============LICENSE_END============================================
+heat_template_version: 2015-04-30
+
+description: test
+
+parameters:
+ a:
+ type: string
+ description: Name of key-pair to be used for compute instance
+
+outputs:
+ a:
+ description: a value
+ value: { get_param: a }
--- /dev/null
+# -*- coding: utf8 -*-
+# ============LICENSE_START=======================================================
+# org.onap.vvp/validation-scripts
+# ===================================================================
+# Copyright © 2017 AT&T Intellectual Property. All rights reserved.
+# ===================================================================
+#
+# Unless otherwise specified, all software contained herein is licensed
+# under the Apache License, Version 2.0 (the "License");
+# you may not use this software except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+#
+#
+# Unless otherwise specified, all documentation contained herein is licensed
+# under the Creative Commons License, Attribution 4.0 Intl. (the "License");
+# you may not use this documentation except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# https://creativecommons.org/licenses/by/4.0/
+#
+# Unless required by applicable law or agreed to in writing, documentation
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# ============LICENSE_END============================================
+heat_template_version: 2015-04-30
+
+description: test
+
+parameters:
+ a:
+ type: string
+ description: Name of key-pair to be used for compute instance
+
+outputs:
+ a:
+ description: a value
+ value: { get_param: a }
"""Test heat template structure
"""
+import pytest
from tests import cached_yaml as yaml
-from .helpers import validates
+from .helpers import validates, is_base_module, load_yaml
VERSION = "1.2.0"
"""
Check that all heat templates have the required sections
"""
- required_key_values = ["resources"]
-
- with open(heat_template) as fh:
- yml = yaml.load(fh)
- assert all(
- [k in yml for k in required_key_values]
- ), "{} doesn't contain the {} section, but it is required".format(
- heat_template, required_key_values[0]
- )
+ if is_base_module(heat_template):
+ pytest.skip("Not applicable to base modules")
+ template = load_yaml(heat_template)
+ assert "resources" in template, "This template must contain a resources section"
@validates("R-11441")
@validates("R-90152")
@pytest.mark.base
-def test_06_heat_template_resource_section_has_resources(heat_template):
-
- found_resource = False
-
- with open(heat_template) as fh:
- yml = yaml.load(fh)
-
- resources = yml.get("resources")
- if resources:
- for k1, v1 in yml["resources"].items():
- if not isinstance(v1, dict):
- continue
-
- found_resource = True
- break
-
- assert found_resource, "Heat templates must contain at least one resource"
+def test_06_heat_template_resource_section_has_resources(yaml_file):
+ template = load_yaml(yaml_file)
+ if "resources" not in template:
+ pytest.skip("No resources section")
+ assert (
+ len(template["resources"]) > 0
+ ), "If resources section present, then there must be at least 1 resource defined."