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
This commit is contained in:
Zane Bitter 2013-05-29 09:25:30 +02:00
parent 53e5e6d83c
commit 2e43c2a3ee
4 changed files with 40 additions and 0 deletions

View File

@ -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')

View File

@ -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'],

View File

@ -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()

View File

@ -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'])