From 2e43c2a3ee85e635df3c122e752d7ab397ad9829 Mon Sep 17 00:00:00 2001 From: Zane Bitter Date: Wed, 29 May 2013 09:25:30 +0200 Subject: [PATCH] Get rid of extra delays in unit tests Some resource types will now have at least one sleep during their creation where previously they did not, so unit tests need to stub out the sleep if they were not already doing so. Change-Id: I1ae919263c6f12d9219970f226019e53daff052b --- heat/tests/test_loadbalancer.py | 3 +++ heat/tests/test_parser.py | 22 ++++++++++++++++++++++ heat/tests/test_vpc.py | 12 ++++++++++++ heat/tests/test_waitcondition.py | 3 +++ 4 files changed, 40 insertions(+) diff --git a/heat/tests/test_loadbalancer.py b/heat/tests/test_loadbalancer.py index 1b290e970b..453e310921 100644 --- a/heat/tests/test_loadbalancer.py +++ b/heat/tests/test_loadbalancer.py @@ -98,6 +98,9 @@ class LoadBalancerTest(HeatTestCase): return rsrc def test_loadbalancer(self): + self.m.StubOutWithMock(scheduler.TaskRunner, '_sleep') + scheduler.TaskRunner._sleep(mox.IsA(int)).MultipleTimes() + self.m.StubOutWithMock(user.User, 'keystone') user.User.keystone().AndReturn(self.fkc) self.m.StubOutWithMock(user.AccessKey, 'keystone') diff --git a/heat/tests/test_parser.py b/heat/tests/test_parser.py index f76f0f6ea1..7aebc30266 100644 --- a/heat/tests/test_parser.py +++ b/heat/tests/test_parser.py @@ -12,6 +12,7 @@ # License for the specific language governing permissions and limitations # under the License. +import mox import uuid @@ -22,6 +23,7 @@ from heat.engine import clients from heat.engine import resource from heat.engine import parser from heat.engine import parameters +from heat.engine import scheduler from heat.engine import template from heat.tests.common import HeatTestCase @@ -874,8 +876,14 @@ class StackTest(HeatTestCase): self.stack = parser.Stack(self.ctx, 'update_test_stack', template.Template(tmpl)) + + self.m.StubOutWithMock(scheduler.TaskRunner, '_sleep') + scheduler.TaskRunner._sleep(mox.IsA(int)).AndReturn(None) + self.m.ReplayAll() + self.stack.store() self.stack.create() + self.m.VerifyAll() self.assertEqual(self.stack.state, parser.Stack.CREATE_COMPLETE) self.assertEqual(self.stack['AResource'].properties['Foo'], 'abc') self.assertEqual(self.stack['BResource'].properties['Foo'], @@ -926,8 +934,15 @@ class StackTest(HeatTestCase): self.stack = parser.Stack(self.ctx, 'update_test_stack', template.Template(tmpl), disable_rollback=False) + + self.m.StubOutWithMock(scheduler.TaskRunner, '_sleep') + scheduler.TaskRunner._sleep(mox.IsA(int)).AndReturn(None) + self.m.ReplayAll() + self.stack.store() self.stack.create() + self.m.VerifyAll() + self.assertEqual(self.stack.state, parser.Stack.CREATE_COMPLETE) self.assertEqual(self.stack['AResource'].properties['Foo'], 'abc') self.assertEqual(self.stack['BResource'].properties['Foo'], @@ -987,8 +1002,15 @@ class StackTest(HeatTestCase): self.stack = parser.Stack(self.ctx, 'update_test_stack', template.Template(tmpl), disable_rollback=False) + + self.m.StubOutWithMock(scheduler.TaskRunner, '_sleep') + scheduler.TaskRunner._sleep(mox.IsA(int)).AndReturn(None) + self.m.ReplayAll() + self.stack.store() self.stack.create() + self.m.VerifyAll() + self.assertEqual(self.stack.state, parser.Stack.CREATE_COMPLETE) self.assertEqual(self.stack['AResource'].properties['Foo'], 'abc') self.assertEqual(self.stack['BResource'].properties['Foo'], diff --git a/heat/tests/test_vpc.py b/heat/tests/test_vpc.py index 5ed519a511..63d0137999 100644 --- a/heat/tests/test_vpc.py +++ b/heat/tests/test_vpc.py @@ -14,11 +14,14 @@ from testtools import skipIf +import mox + from heat.common import context from heat.common import exception from heat.common import template_format from heat.engine import parser from heat.engine import resource +from heat.engine import scheduler from heat.tests.common import HeatTestCase from heat.tests.utils import setup_dummy_db @@ -58,9 +61,15 @@ class VPCTestBase(HeatTestCase): self.m.StubOutWithMock( quantumclient.Client, 'delete_security_group_rule') + def stub_sleep(self): + self.m.StubOutWithMock(scheduler.TaskRunner, '_sleep') + scheduler.TaskRunner._sleep(mox.IsA(int)).MultipleTimes() + mox.Replay(scheduler.TaskRunner._sleep) + def create_stack(self, template): t = template_format.parse(template) stack = self.parse_stack(t) + self.stub_sleep() self.assertEqual(None, stack.create()) return stack @@ -218,6 +227,9 @@ Resources: Properties: {CidrBlock: '10.0.0.0/16'} ''' + def stub_sleep(self): + pass + def test_vpc(self): self.mock_create_network() self.mock_delete_network() diff --git a/heat/tests/test_waitcondition.py b/heat/tests/test_waitcondition.py index 0415bb4104..13a4533b05 100644 --- a/heat/tests/test_waitcondition.py +++ b/heat/tests/test_waitcondition.py @@ -410,6 +410,9 @@ class WaitConditionHandleTest(HeatTestCase): self.m.ReplayAll() stack.store() + self.m.StubOutWithMock(scheduler.TaskRunner, '_sleep') + scheduler.TaskRunner._sleep(mox.IsA(int)).AndReturn(None) + # Stub waitcondition status so all goes CREATE_COMPLETE self.m.StubOutWithMock(wc.WaitConditionHandle, 'get_status') wc.WaitConditionHandle.get_status().AndReturn(['SUCCESS'])