# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file 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.
from heat_integrationtests.functional import functional_base
[docs]class TemplateAPITest(functional_base.FunctionalTestsBase):
"""This will test the following template calls:
1. Get the template content for the specific stack
2. List template versions
3. List resource types
4. Show resource details for OS::Heat::TestResource
"""
template = {
'heat_template_version': '2014-10-16',
'description': 'Test Template APIs',
'resources': {
'test1': {
'type': 'OS::Heat::TestResource',
'properties': {
'update_replace': False,
'wait_secs': 0,
'value': 'Test1',
'fail': False,
}
}
}
}
[docs] def test_get_stack_template(self):
stack_identifier = self.stack_create(
template=self.template
)
template_from_client = self.client.stacks.template(stack_identifier)
self.assertEqual(self.template, template_from_client)
[docs] def test_template_version(self):
template_versions = self.client.template_versions.list()
supported_template_versions = ["2013-05-23", "2014-10-16",
"2015-04-30", "2015-10-15",
"2012-12-12", "2010-09-09",
"2016-04-08", "2016-10-14", "newton",
"2017-02-24", "ocata",
"2017-09-01", "pike"]
for template in template_versions:
self.assertIn(template.version.split(".")[1],
supported_template_versions)
[docs] def test_resource_types(self):
resource_types = self.client.resource_types.list()
self.assertTrue(any(resource.resource_type == "OS::Heat::TestResource"
for resource in resource_types))
[docs] def test_show_resource_template(self):
resource_details = self.client.resource_types.get(
resource_type="OS::Heat::TestResource"
)
self.assertEqual("OS::Heat::TestResource",
resource_details['resource_type'])
Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.