From: Zane Bitter Date: Tue, 29 Jan 2013 20:49:27 +0000 (+0100) Subject: Fix Instance deletion in unit tests X-Git-Tag: 2014.1~956^2 X-Git-Url: https://review.fuel-infra.org/gitweb?a=commitdiff_plain;h=4676914695497a9db3ed77d64d5e12e12bc1db4d;p=openstack-build%2Fheat-build.git Fix Instance deletion in unit tests 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 --- diff --git a/heat/tests/test_engine_service.py b/heat/tests/test_engine_service.py index c3ac1702..ff9360c6 100644 --- a/heat/tests/test_engine_service.py +++ b/heat/tests/test_engine_service.py @@ -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() diff --git a/heat/tests/test_instance.py b/heat/tests/test_instance.py index 473c9f46..e74bd964 100644 --- a/heat/tests/test_instance.py +++ b/heat/tests/test_instance.py @@ -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)