summaryrefslogtreecommitdiff
path: root/heat/tests/test_provider_template.py
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2015-01-10 14:19:40 +0000
committerGerrit Code Review <review@openstack.org>2015-01-10 14:19:40 +0000
commit15043074b1cc92e720a570936b761706dcd86c58 (patch)
tree9e7204ec00bd30ff45117b262a9e0bfcd62d0f2c /heat/tests/test_provider_template.py
parentf21338dbe54b96c580a5aed56e3bb7c7a2092931 (diff)
parent49282cce47c01a9497ca6ce32237e6b4f14f7c97 (diff)
downloadheat-15043074b1cc92e720a570936b761706dcd86c58.tar.gz
Merge "Add some crud tests to nested stacks"
Diffstat (limited to 'heat/tests/test_provider_template.py')
-rw-r--r--heat/tests/test_provider_template.py67
1 files changed, 67 insertions, 0 deletions
diff --git a/heat/tests/test_provider_template.py b/heat/tests/test_provider_template.py
index facfa3a2b..320fa5296 100644
--- a/heat/tests/test_provider_template.py
+++ b/heat/tests/test_provider_template.py
@@ -1108,3 +1108,70 @@ Outputs:
stack.output('value'))
self.m.VerifyAll()
+
+
+class TemplateResourceCrudTest(common.HeatTestCase):
+ provider = {
+ 'HeatTemplateFormatVersion': '2012-12-12',
+ 'Parameters': {
+ 'Foo': {'Type': 'String'},
+ 'Blarg': {'Type': 'String', 'Default': 'wibble'},
+ },
+ }
+
+ def setUp(self):
+ super(TemplateResourceCrudTest, self).setUp()
+ files = {'test_resource.template': json.dumps(self.provider)}
+
+ class DummyResource(object):
+ support_status = support.SupportStatus()
+ properties_schema = {"Foo":
+ properties.Schema(properties.Schema.STRING,
+ required=True)}
+ attributes_schema = {}
+
+ env = environment.Environment()
+ resource._register_class('DummyResource', DummyResource)
+ env.load({'resource_registry':
+ {'DummyResource': 'test_resource.template'}})
+ stack = parser.Stack(utils.dummy_context(), 'test_stack',
+ parser.Template(empty_template, files=files),
+ env=env,
+ stack_id=str(uuid.uuid4()))
+
+ self.defn = rsrc_defn.ResourceDefinition('test_t_res',
+ "DummyResource",
+ {"Foo": "bar"})
+ self.res = template_resource.TemplateResource('test_t_res',
+ self.defn, stack)
+ self.assertIsNone(self.res.validate())
+
+ def test_handle_create(self):
+ self.res.create_with_template = mock.Mock(return_value=None)
+
+ self.res.handle_create()
+
+ self.res.create_with_template.assert_called_once_with(
+ self.provider, {'Foo': 'bar'})
+
+ def test_handle_adopt(self):
+ self.res.create_with_template = mock.Mock(return_value=None)
+
+ self.res.handle_adopt(resource_data={'resource_id': 'fred'})
+
+ self.res.create_with_template.assert_called_once_with(
+ self.provider, {'Foo': 'bar'}, adopt_data={'resource_id': 'fred'})
+
+ def test_handle_update(self):
+ self.res.update_with_template = mock.Mock(return_value=None)
+
+ self.res.handle_update(self.defn, None, None)
+
+ self.res.update_with_template.assert_called_once_with(
+ self.provider, {'Foo': 'bar'})
+
+ def test_handle_delete(self):
+ self.res.nested = mock.MagicMock()
+ self.res.nested.return_value.delete.return_value = None
+ self.res.handle_delete()
+ self.res.nested.return_value.delete.assert_called_once_with()