]> review.fuel-infra Code Review - openstack-build/heat-build.git/commitdiff
Clean up metadata refresh unit test
authorZane Bitter <zbitter@redhat.com>
Tue, 9 Apr 2013 18:01:24 +0000 (20:01 +0200)
committerZane Bitter <zbitter@redhat.com>
Tue, 9 Apr 2013 20:28:38 +0000 (22:28 +0200)
The stack was not being fully created, because the calls to the mock
functions were not present for the second instance.

Change-Id: I894473533eb40133e4c22facbbee749a971cec89

heat/tests/test_metadata_refresh.py

index c0d4928dc391afbba627aaca4729faec0b88bfcf..689adfa886506ee4e72a80599c1e4392a0d240b8 100644 (file)
@@ -135,10 +135,8 @@ class MetadataRefreshTest(unittest.TestCase):
 
     # Note tests creating a stack should be decorated with @stack_delete_after
     # to ensure the stack is properly cleaned up
-    def create_stack(self, stack_name='test_stack',
-                     template=test_template_metadata, params={},
-                     stub=True):
-        temp = template_format.parse(template)
+    def create_stack(self, stack_name='test_stack', params={}):
+        temp = template_format.parse(test_template_metadata)
         template = parser.Template(temp)
         parameters = parser.Parameters(stack_name, template, params)
         ctx = context.get_admin_context()
@@ -148,12 +146,13 @@ class MetadataRefreshTest(unittest.TestCase):
 
         self.stack_id = stack.store()
 
-        if stub:
-            self.m.StubOutWithMock(instance.Instance, 'handle_create')
-            self.m.StubOutWithMock(instance.Instance, 'check_active')
-            instance.Instance.handle_create().AndReturn(None)
-            instance.Instance.check_active(None).AndReturn(True)
-            self.m.StubOutWithMock(instance.Instance, 'FnGetAtt')
+        self.m.StubOutWithMock(instance.Instance, 'handle_create')
+        self.m.StubOutWithMock(instance.Instance, 'check_active')
+        instance.Instance.handle_create().AndReturn(None)
+        instance.Instance.check_active(None).AndReturn(True)
+        instance.Instance.handle_create().AndReturn(None)
+        instance.Instance.check_active(None).AndReturn(True)
+        self.m.StubOutWithMock(instance.Instance, 'FnGetAtt')
 
         return stack
 
@@ -169,6 +168,8 @@ class MetadataRefreshTest(unittest.TestCase):
         self.m.ReplayAll()
         self.stack.create()
 
+        self.assertEqual(self.stack.state, self.stack.CREATE_COMPLETE)
+
         s1 = self.stack.resources['S1']
         s2 = self.stack.resources['S2']
         files = s1.metadata['AWS::CloudFormation::Init']['config']['files']
@@ -201,9 +202,8 @@ class WaitCondMetadataUpdateTest(unittest.TestCase):
 
     # Note tests creating a stack should be decorated with @stack_delete_after
     # to ensure the stack is properly cleaned up
-    def create_stack(self, stack_name='test_stack',
-                     template=test_template_metadata):
-        temp = template_format.parse(template)
+    def create_stack(self, stack_name='test_stack'):
+        temp = template_format.parse(test_template_waitcondition)
         template = parser.Template(temp)
         parameters = parser.Parameters(stack_name, template, {})
         stack = parser.Stack(self.ctx, stack_name, template, parameters,
@@ -213,7 +213,7 @@ class WaitCondMetadataUpdateTest(unittest.TestCase):
 
         self.m.StubOutWithMock(instance.Instance, 'handle_create')
         self.m.StubOutWithMock(instance.Instance, 'check_active')
-        instance.Instance.handle_create().MultipleTimes().AndReturn(None)
+        instance.Instance.handle_create().AndReturn(None)
         instance.Instance.check_active(None).AndReturn(True)
 
         self.m.StubOutWithMock(wc.WaitConditionHandle, 'keystone')
@@ -238,7 +238,7 @@ class WaitCondMetadataUpdateTest(unittest.TestCase):
         5 assert valid instance metadata
         '''
 
-        self.stack = self.create_stack(template=test_template_waitcondition)
+        self.stack = self.create_stack()
 
         watch = self.stack['WC']
         inst = self.stack['S1']
@@ -263,6 +263,8 @@ class WaitCondMetadataUpdateTest(unittest.TestCase):
         self.m.ReplayAll()
         self.stack.create()
 
+        self.assertEqual(self.stack.state, self.stack.CREATE_COMPLETE)
+
         self.assertEqual(watch.FnGetAtt('Data'), '{"123": "foo"}')
         self.assertEqual(inst.metadata['test'], '{"123": "foo"}')