]> review.fuel-infra Code Review - openstack-build/heat-build.git/commitdiff
Fix Instance deletion in unit tests
authorZane Bitter <zbitter@redhat.com>
Tue, 29 Jan 2013 20:49:27 +0000 (21:49 +0100)
committerZane Bitter <zbitter@redhat.com>
Tue, 29 Jan 2013 20:57:11 +0000 (21:57 +0100)
We need to actually return a NotFound exception from the nova client,
rather than just relying on it returning a status other than ACTIVE.

Change-Id: I1bb0d07db0ffb5c0ed780eb4ca7f5d7ddb98510e
Signed-off-by: Zane Bitter <zbitter@redhat.com>
heat/tests/test_engine_service.py
heat/tests/test_instance.py

index c3ac170274a60bf867bce3c82295473c31b16764..ff9360c6e9e689c91c535882d13c4b3edcae9ec2 100644 (file)
@@ -76,6 +76,7 @@ def setup_mocks(mocks, stack):
                       name='%s.WebServer' % stack.name, security_groups=None,
                       userdata=server_userdata, scheduler_hints=None,
                       meta=None).AndReturn(fc.servers.list()[-1])
+    return fc
 
 
 class DummyThreadGroup(object):
@@ -121,7 +122,7 @@ class stackCreateTest(unittest.TestCase):
     def test_wordpress_single_instance_stack_delete(self):
         ctx = create_context(self.m, tenant='test_delete_tenant')
         stack = get_wordpress_stack('test_stack', ctx)
-        setup_mocks(self.m, stack)
+        fc = setup_mocks(self.m, stack)
         self.m.ReplayAll()
         stack_id = stack.store()
         stack.create()
@@ -132,6 +133,11 @@ class stackCreateTest(unittest.TestCase):
         self.assertNotEqual(stack.resources['WebServer'], None)
         self.assertTrue(stack.resources['WebServer'].resource_id > 0)
 
+        self.m.StubOutWithMock(fc.client, 'get_servers_9999')
+        get = fc.client.get_servers_9999
+        get().AndRaise(service.clients.novaclient.exceptions.NotFound(404))
+        mox.Replay(get)
+
         stack.delete()
 
         self.assertEqual(stack.resources['WebServer'].state, 'DELETE_COMPLETE')
@@ -379,7 +385,10 @@ class stackServiceTest(unittest.TestCase):
         cls = cls
         m = mox.Mox()
         create_context(m, cls.username, cls.tenant, ctx=cls.stack.context)
-        setup_mocks(m, cls.stack)
+        fc = setup_mocks(m, cls.stack)
+        m.StubOutWithMock(fc.client, 'get_servers_9999')
+        get = fc.client.get_servers_9999
+        get().AndRaise(service.clients.novaclient.exceptions.NotFound(404))
         m.ReplayAll()
 
         cls.stack.delete()
index 473c9f465eea34ca206c86e0bd27763ee9934c07..e74bd964b8077ced3e8fd4bc047569090ed93b45 100644 (file)
@@ -120,6 +120,11 @@ class instancesTest(unittest.TestCase):
         # this makes sure the auto increment worked on instance creation
         self.assertTrue(instance.id > 0)
 
+        self.m.StubOutWithMock(self.fc.client, 'get_servers_1234')
+        get = self.fc.client.get_servers_1234
+        get().AndRaise(instances.clients.novaclient.exceptions.NotFound(404))
+        mox.Replay(get)
+
         instance.delete()
         self.assertTrue(instance.resource_id is None)
         self.assertEqual(instance.state, instance.DELETE_COMPLETE)