]> review.fuel-infra Code Review - openstack-build/heat-build.git/commitdiff
Enable running tests via testr
authorClint Byrum <clint@fewbar.com>
Thu, 25 Apr 2013 00:30:35 +0000 (17:30 -0700)
committerClint Byrum <clint@fewbar.com>
Tue, 30 Apr 2013 20:51:07 +0000 (13:51 -0700)
This also disables the functional tests from running. The code is still
left here for posterity. These are intended to be moved into tempest
test cases and thus will be removed entirely at that time.

Change-Id: I294671baead6e83a8312b41681e99d395f861209

27 files changed:
.testr.conf [new file with mode: 0644]
heat/tests/__init__.py
heat/tests/functional/__init__.py [deleted file]
heat/tests/test_autoscaling.py
heat/tests/test_eip.py
heat/tests/test_engine_service.py
heat/tests/test_event.py
heat/tests/test_instance.py
heat/tests/test_instance_group.py
heat/tests/test_loadbalancer.py
heat/tests/test_metadata_refresh.py
heat/tests/test_nested_stack.py
heat/tests/test_nokey.py
heat/tests/test_parser.py
heat/tests/test_quantum.py
heat/tests/test_resource.py
heat/tests/test_s3.py
heat/tests/test_security_group.py
heat/tests/test_swift.py
heat/tests/test_template_format.py
heat/tests/test_user.py
heat/tests/test_validate.py
heat/tests/test_volume.py
heat/tests/test_vpc.py
heat/tests/test_waitcondition.py
heat/tests/test_watch.py
heat/tests/utils.py

diff --git a/.testr.conf b/.testr.conf
new file mode 100644 (file)
index 0000000..a2ff14b
--- /dev/null
@@ -0,0 +1,4 @@
+[DEFAULT]
+test_command=${PYTHON:-python} -m subunit.run discover -t ./ . $LISTOPT $IDOPTION
+test_id_option=--load-list $IDFILE
+test_list_option=--list
index b273fb4a2ee0bc03576cb85358d6468127c0642d..d89db057e17b5e219b767a4163278d05fc2e4131 100644 (file)
 # The code below enables nosetests to work with i18n _() blocks
 import __builtin__
 setattr(__builtin__, '_', lambda x: x)
-
-import os
-
-from heat.db.sqlalchemy.session import get_engine
-
-
-def reset_db():
-    if os.path.exists('heat-test.db'):
-        os.remove('heat-test.db')
-
-
-def setup():
-    from heat.db import migration
-
-    reset_db()
-    migration.db_sync()
-    engine = get_engine()
-    conn = engine.connect()
diff --git a/heat/tests/functional/__init__.py b/heat/tests/functional/__init__.py
deleted file mode 100644 (file)
index 13cd5bb..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-# vim: tabstop=4 shiftwidth=4 softtabstop=4
-#
-#    Licensed under the Apache License, Version 2.0 (the "License"); you may
-#    not use this file except in compliance with the License. You may obtain
-#    a copy of the License at
-#
-#         http://www.apache.org/licenses/LICENSE-2.0
-#
-#    Unless required by applicable law or agreed to in writing, software
-#    distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-#    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-#    License for the specific language governing permissions and limitations
-#    under the License.
index ab8576d499ca88d5f2d9aa11edace4c700aa6831..de28c6edd109fa2420f3dedb4df271de482c2802 100644 (file)
@@ -32,6 +32,7 @@ from heat.engine import parser
 from heat.engine import scheduler
 from heat.engine.resource import Metadata
 from heat.openstack.common import timeutils
+from heat.tests.utils import setup_dummy_db
 
 
 @attr(tag=['unit', 'resource'])
@@ -39,10 +40,10 @@ from heat.openstack.common import timeutils
 class AutoScalingTest(unittest.TestCase):
     def setUp(self):
         self.m = mox.Mox()
+        setup_dummy_db()
 
     def tearDown(self):
         self.m.UnsetStubs()
-        print "AutoScalingTest teardown complete"
 
     def load_template(self):
         self.path = os.path.dirname(os.path.realpath(__file__)).\
index 068a4dd4df52eedbc6568db7d3bb61fb3abbb233..9007d34436eba3aa097a8ba857f4757f9e05728d 100644 (file)
@@ -26,6 +26,7 @@ from heat.engine.resources import eip
 from heat.engine import parser
 from heat.engine import scheduler
 from heat.tests.v1_1 import fakes
+from heat.tests.utils import setup_dummy_db
 
 
 @attr(tag=['unit', 'resource'])
@@ -37,10 +38,10 @@ class EIPTest(unittest.TestCase):
         self.m.StubOutWithMock(eip.ElasticIp, 'nova')
         self.m.StubOutWithMock(eip.ElasticIpAssociation, 'nova')
         self.m.StubOutWithMock(self.fc.servers, 'get')
+        setup_dummy_db()
 
     def tearDown(self):
         self.m.UnsetStubs()
-        print "EIPTest teardown complete"
 
     def load_template(self):
         self.path = os.path.dirname(os.path.realpath(__file__)).\
index b61942729c49ffd501cec4642d815283d3117248..cd2d473ff9f2114d21458e2eaff33ad9c67e7e46 100644 (file)
@@ -34,6 +34,7 @@ from heat.engine.properties import Properties
 from heat.engine.resources import instance as instances
 from heat.engine import watchrule
 from heat.openstack.common import threadgroup
+from heat.tests.utils import setup_dummy_db
 
 
 tests_dir = os.path.dirname(os.path.realpath(__file__))
@@ -108,10 +109,10 @@ class DummyThreadGroup(object):
 class stackCreateTest(unittest.TestCase):
     def setUp(self):
         self.m = mox.Mox()
+        setup_dummy_db()
 
     def tearDown(self):
         self.m.UnsetStubs()
-        print "stackTest teardown complete"
 
     def test_wordpress_single_instance_stack_create(self):
         stack = get_wordpress_stack('test_stack', create_context(self.m))
@@ -158,6 +159,7 @@ class stackServiceCreateUpdateDeleteTest(unittest.TestCase):
         self.m = mox.Mox()
         self.username = 'stack_service_create_test_user'
         self.tenant = 'stack_service_create_test_tenant'
+        setup_dummy_db()
         self.ctx = create_context(self.m, self.username, self.tenant)
 
         self.man = service.EngineService('a-host', 'a-topic')
@@ -436,6 +438,7 @@ class stackServiceTest(unittest.TestCase):
 
     def setUp(self):
         self.m = mox.Mox()
+        setup_dummy_db()
         self.ctx = create_context(self.m, self.username, self.tenant)
         setup_mocks(self.m, self.stack)
         self.m.ReplayAll()
index 580af8339ac17edc2736c11fb1cfd3ee489fcae1..04088377688d5b132c3fec9bea19e832313a3a29 100644 (file)
@@ -24,6 +24,7 @@ from heat.engine import resource
 from heat.engine import template
 from heat.engine import event
 
+from heat.tests.utils import setup_dummy_db
 from heat.tests import generic_resource as generic_rsrc
 
 
@@ -46,6 +47,7 @@ class EventTest(unittest.TestCase):
 
         self.m = mox.Mox()
 
+        setup_dummy_db()
         self.ctx = context.get_admin_context()
         self.m.StubOutWithMock(self.ctx, 'username')
         self.ctx.username = self.username
index 319e02947708e8c7a697ab39e681dc6e2b461047..25f726ead039e7a691bb24ada888bd5c97ca46c0 100644 (file)
@@ -27,6 +27,7 @@ from heat.common import template_format
 from heat.engine import parser
 from heat.engine import scheduler
 from heat.openstack.common import uuidutils
+from heat.tests.utils import setup_dummy_db
 
 
 @attr(tag=['unit', 'resource', 'instance'])
@@ -37,10 +38,10 @@ class instancesTest(unittest.TestCase):
         self.fc = fakes.FakeClient()
         self.path = os.path.dirname(os.path.realpath(__file__)).\
             replace('heat/tests', 'templates')
+        setup_dummy_db()
 
     def tearDown(self):
         self.m.UnsetStubs()
-        print "instancesTest teardown complete"
 
     def test_instance_create(self):
         f = open("%s/WordPress_Single_Instance_gold.template" % self.path)
index 4334e03056b59bac4f2f9e6c7c012ef88731e810..e244b0c4ebc5eeca56db5db10b1356a41474cd2b 100644 (file)
@@ -30,6 +30,7 @@ from heat.engine.resources import instance
 from heat.engine.resources import loadbalancer
 from heat.engine import parser
 from heat.engine import scheduler
+from heat.tests.utils import setup_dummy_db
 
 
 @attr(tag=['unit', 'resource'])
@@ -39,10 +40,10 @@ class InstanceGroupTest(unittest.TestCase):
         self.fc = fakes.FakeClient()
         self.m = mox.Mox()
         self.m.StubOutWithMock(loadbalancer.LoadBalancer, 'reload')
+        setup_dummy_db()
 
     def tearDown(self):
         self.m.UnsetStubs()
-        print "InstanceGroupTest teardown complete"
 
     def load_template(self):
         self.path = os.path.dirname(os.path.realpath(__file__)).\
index 6910360528016113fe16f76160022e3232f3803d..518af1f3c307f6db39e04c71538adf6b6f58925f 100644 (file)
@@ -33,6 +33,7 @@ from heat.engine.resources import user
 from heat.engine.resources import loadbalancer as lb
 from heat.engine.resources import wait_condition as wc
 from heat.engine.resource import Metadata
+from heat.tests.utils import setup_dummy_db
 from heat.tests.v1_1 import fakes
 from heat.tests import fakes as test_fakes
 
@@ -63,6 +64,7 @@ class LoadBalancerTest(unittest.TestCase):
 
         cfg.CONF.set_default('heat_waitcondition_server_url',
                              'http://127.0.0.1:8000/v1/waitcondition')
+        setup_dummy_db()
 
     def tearDown(self):
         self.m.UnsetStubs()
index ddaffe350161d724d74c904e4988faeba4d8d49e..af62d5c680e71f98280112eea4417d673f1e86d4 100644 (file)
@@ -21,6 +21,7 @@ from nose.plugins.attrib import attr
 
 from oslo.config import cfg
 from heat.tests import fakes
+from heat.tests.utils import setup_dummy_db
 from heat.tests.utils import stack_delete_after
 
 from heat.common import identifier
@@ -129,6 +130,7 @@ class MetadataRefreshTest(unittest.TestCase):
         self.m = mox.Mox()
         self.m.StubOutWithMock(eventlet, 'sleep')
         self.fc = fakes.FakeKeystoneClient()
+        setup_dummy_db()
 
     def tearDown(self):
         self.m.UnsetStubs()
@@ -189,6 +191,7 @@ class MetadataRefreshTest(unittest.TestCase):
 class WaitCondMetadataUpdateTest(unittest.TestCase):
     def setUp(self):
         self.m = mox.Mox()
+        setup_dummy_db()
         self.ctx = context.get_admin_context()
         self.ctx.tenant_id = 'test_tenant'
         self.fc = fakes.FakeKeystoneClient()
index 6568540b807750f81b109a590ca141183297bcf7..f2bb96b20e87885c6fa49ba3fef46d339310d98e 100644 (file)
@@ -24,6 +24,7 @@ from heat.common import template_format
 from heat.engine import parser
 from heat.engine.resources import stack as nested_stack
 from heat.common import urlfetch
+from heat.tests.utils import setup_dummy_db
 
 
 @attr(tag=['unit', 'resource'])
@@ -50,6 +51,7 @@ Outputs:
     def setUp(self):
         self.m = mox.Mox()
         self.m.StubOutWithMock(urlfetch, 'get')
+        setup_dummy_db()
 
     def tearDown(self):
         self.m.UnsetStubs()
index 009bcaff1ba54286432a4279f1946002733261e7..449f7d476c1c0ce7da344f27719263ea94c69a6d 100644 (file)
@@ -26,6 +26,7 @@ from heat.common import template_format
 from heat.engine import parser
 from heat.engine import scheduler
 from heat.openstack.common import uuidutils
+from heat.tests.utils import setup_dummy_db
 
 
 @attr(tag=['unit', 'resource', 'instance'])
@@ -36,10 +37,10 @@ class nokeyTest(unittest.TestCase):
         self.fc = fakes.FakeClient()
         self.path = os.path.dirname(os.path.realpath(__file__)).\
             replace('heat/tests', 'templates')
+        setup_dummy_db()
 
     def tearDown(self):
         self.m.UnsetStubs()
-        print "nokeyTest teardown complete"
 
     def test_nokey_create(self):
         f = open("%s/WordPress_NoKey.template" % self.path)
index 04f9cac8cab5365149dd8f2facdad3be6469fc3f..0946919c467ce0cf6b32b0c81260f0315b7e98f8 100644 (file)
@@ -26,6 +26,7 @@ from heat.engine import parser
 from heat.engine import parameters
 from heat.engine import template
 
+from heat.tests.utils import setup_dummy_db
 from heat.tests.utils import stack_delete_after
 from heat.tests import generic_resource as generic_rsrc
 
@@ -300,6 +301,7 @@ class StackTest(unittest.TestCase):
 
         self.m = mox.Mox()
 
+        setup_dummy_db()
         self.ctx = context.get_admin_context()
         self.m.StubOutWithMock(self.ctx, 'username')
         self.ctx.username = self.username
index 6ae8e72ae00b1ea457e480f570e4703d14de74cf..5b360cfd03aa16c1e23e363294bb5e6b85ab25f6 100644 (file)
@@ -31,6 +31,7 @@ from heat.engine.resources.quantum import floatingip
 from heat.engine.resources.quantum import port
 from heat.engine.resources.quantum.quantum import QuantumResource as qr
 from heat.engine import parser
+from heat.tests.utils import setup_dummy_db
 
 
 class FakeQuantum():
@@ -103,10 +104,10 @@ class QuantumTest(unittest.TestCase):
     def setUp(self):
         self.m = mox.Mox()
         self.m.StubOutWithMock(net.Net, 'quantum')
+        setup_dummy_db()
 
     def tearDown(self):
         self.m.UnsetStubs()
-        print "QuantumTest teardown complete"
 
     def load_template(self):
         self.path = os.path.dirname(os.path.realpath(__file__)).\
@@ -211,6 +212,7 @@ class QuantumFloatingIPTest(unittest.TestCase):
         self.m.StubOutWithMock(floatingip.FloatingIP, 'quantum')
         self.m.StubOutWithMock(floatingip.FloatingIPAssociation, 'quantum')
         self.m.StubOutWithMock(port.Port, 'quantum')
+        setup_dummy_db()
 
     def tearDown(self):
         self.m.UnsetStubs()
index 690f30aebb238d93deab469623a178f7ff8d168b..19e7b17d6f0ce49b1f14a933fca33667e11a441c 100644 (file)
@@ -25,6 +25,7 @@ from heat.engine import scheduler
 from heat.openstack.common import uuidutils
 
 from heat.tests import generic_resource as generic_rsrc
+from heat.tests.utils import setup_dummy_db
 
 
 @attr(tag=['unit', 'resource'])
@@ -32,6 +33,7 @@ from heat.tests import generic_resource as generic_rsrc
 class ResourceTest(unittest.TestCase):
     def setUp(self):
         self.m = mox.Mox()
+        setup_dummy_db()
         self.stack = parser.Stack(None, 'test_stack', parser.Template({}),
                                   stack_id=uuidutils.generate_uuid())
 
@@ -322,6 +324,7 @@ class MetadataTest(unittest.TestCase):
             'Type': 'Foo',
             'Metadata': {'Test': 'Initial metadata'}
         }
+        setup_dummy_db()
         ctx = context.get_admin_context()
         self.m.StubOutWithMock(ctx, 'username')
         ctx.username = 'metadata_test_user'
index 24dc5ec1f05cdd4fbc83200317b729bd705c2a1b..95cb60c7caf8a2d2395c35668cd4d57eb7bab7a8 100644 (file)
@@ -27,7 +27,8 @@ from heat.openstack.common.importutils import try_import
 from heat.engine.resources import s3
 from heat.engine import parser
 from heat.engine import scheduler
-from utils import skip_if
+from heat.tests.utils import setup_dummy_db
+from heat.tests.utils import skip_if
 
 swiftclient = try_import('swiftclient.client')
 
@@ -44,10 +45,10 @@ class s3Test(unittest.TestCase):
         self.m.StubOutWithMock(swiftclient.Connection, 'get_auth')
 
         self.container_pattern = 'test_stack-test_resource-[0-9a-z]+'
+        setup_dummy_db()
 
     def tearDown(self):
         self.m.UnsetStubs()
-        print "s3Test teardown complete"
 
     def load_template(self):
         self.path = os.path.dirname(os.path.realpath(__file__)).\
index be3328e51e57044f14fbb60c9f0b82ebc2f59827..3d17f78c90356958ec3282d46df00a962f69f5b5 100644 (file)
@@ -22,6 +22,7 @@ from heat.engine import clients
 from heat.common import context
 from heat.common import template_format
 from heat.engine import parser
+from heat.tests.utils import setup_dummy_db
 from heat.tests.v1_1 import fakes
 
 from novaclient.v1_1 import security_groups as nova_sg
@@ -68,6 +69,7 @@ Resources:
         self.m.StubOutWithMock(nova_sg.SecurityGroupManager, 'delete')
         self.m.StubOutWithMock(nova_sg.SecurityGroupManager, 'get')
         self.m.StubOutWithMock(nova_sg.SecurityGroupManager, 'list')
+        setup_dummy_db()
 
     def tearDown(self):
         self.m.UnsetStubs()
index c9cb2c448d8bd9c8342b08ff80debed4e234c68b..472ba2a2241e50d97c3664429a38ef80a93680e3 100644 (file)
@@ -27,6 +27,7 @@ from heat.openstack.common.importutils import try_import
 from heat.engine.resources import swift
 from heat.engine import parser
 from heat.engine import scheduler
+from heat.tests.utils import setup_dummy_db
 from heat.tests.utils import skip_if
 
 swiftclient = try_import('swiftclient.client')
@@ -45,10 +46,10 @@ class swiftTest(unittest.TestCase):
         self.m.StubOutWithMock(swiftclient.Connection, 'get_auth')
 
         self.container_pattern = 'test_stack-test_resource-[0-9a-z]+'
+        setup_dummy_db()
 
     def tearDown(self):
         self.m.UnsetStubs()
-        print "swiftTest teardown complete"
 
     def load_template(self):
         self.path = os.path.dirname(os.path.realpath(__file__)).\
index c92fdeb653893ceb5f07077c04561d01ab214648..6c0e28c711ec0945553f608a637f40f6bde517f7 100644 (file)
@@ -21,6 +21,7 @@ from heat.engine import clients
 from heat.common import context
 from heat.common import template_format
 from heat.engine import parser
+from heat.tests.utils import setup_dummy_db
 
 
 @attr(tag=['unit'])
@@ -99,6 +100,7 @@ class JsonYamlResolvedCompareTest(unittest.TestCase):
     def setUp(self):
         self.longMessage = True
         self.maxDiff = None
+        setup_dummy_db()
 
     def load_template(self, file_name):
         self.path = os.path.dirname(os.path.realpath(__file__)).\
index 10046b21cce63bb4b41aee38f15dffef2e8c84a9..bfc757d04dca38506db36dd91bdc5f3f06276fd5 100644 (file)
@@ -28,22 +28,26 @@ from heat.engine import parser
 from heat.engine import scheduler
 from heat.engine.resources import user
 from heat.tests import fakes
+from heat.tests.utils import setup_dummy_db
 
 import keystoneclient.exceptions
 
 
-@attr(tag=['unit', 'resource', 'User'])
-@attr(speed='fast')
-class UserTest(unittest.TestCase):
+class UserPolicyTestCase(unittest.TestCase):
     def setUp(self):
         config.register_engine_opts()
         self.m = mox.Mox()
         self.fc = fakes.FakeKeystoneClient(username='test_stack.CfnUser')
         cfg.CONF.set_default('heat_stack_user_role', 'stack_user_role')
+        setup_dummy_db()
 
     def tearDown(self):
         self.m.UnsetStubs()
-        print "UserTest teardown complete"
+
+
+@attr(tag=['unit', 'resource', 'User'])
+@attr(speed='fast')
+class UserTest(UserPolicyTestCase):
 
     def load_template(self, template_name='Rails_Single_Instance.template'):
         self.path = os.path.dirname(os.path.realpath(__file__)).\
@@ -226,16 +230,7 @@ class UserTest(unittest.TestCase):
 
 @attr(tag=['unit', 'resource', 'AccessKey'])
 @attr(speed='fast')
-class AccessKeyTest(unittest.TestCase):
-    def setUp(self):
-        config.register_engine_opts()
-        self.m = mox.Mox()
-        self.fc = fakes.FakeKeystoneClient(username='test_stack.CfnUser')
-        cfg.CONF.set_default('heat_stack_user_role', 'stack_user_role')
-
-    def tearDown(self):
-        self.m.UnsetStubs()
-        print "AccessKey teardown complete"
+class AccessKeyTest(UserPolicyTestCase):
 
     def load_template(self):
         self.path = os.path.dirname(os.path.realpath(__file__)).\
@@ -345,15 +340,7 @@ class AccessKeyTest(unittest.TestCase):
 
 @attr(tag=['unit', 'resource', 'AccessPolicy'])
 @attr(speed='fast')
-class AccessPolicyTest(unittest.TestCase):
-    def setUp(self):
-        self.m = mox.Mox()
-        self.fc = fakes.FakeKeystoneClient(username='test_stack.CfnUser')
-        cfg.CONF.set_default('heat_stack_user_role', 'stack_user_role')
-
-    def tearDown(self):
-        self.m.UnsetStubs()
-        print "UserTest teardown complete"
+class AccessPolicyTest(UserPolicyTestCase):
 
     def load_template(self):
         template_name =\
index 480bfe35dffe1ea1705aea701f85d2dd513ffbe7..70ee035f22656b12213d85f939e91ee768055122 100644 (file)
@@ -25,6 +25,7 @@ from heat.engine.resources import instance as instances
 from heat.engine import service
 import heat.db.api as db_api
 from heat.engine import parser
+from heat.tests.utils import setup_dummy_db
 
 test_template_volumeattach = '''
 {
@@ -272,10 +273,10 @@ class validateTest(unittest.TestCase):
     def setUp(self):
         self.m = mox.Mox()
         self.fc = fakes.FakeClient()
+        setup_dummy_db()
 
     def tearDown(self):
         self.m.UnsetStubs()
-        print "volumeTest teardown complete"
 
     def test_validate_volumeattach_valid(self):
         t = template_format.parse(test_template_volumeattach % 'vdq')
@@ -311,7 +312,6 @@ class validateTest(unittest.TestCase):
 
         engine = service.EngineService('a', 't')
         res = dict(engine.validate_template(None, t))
-        print 'res %s' % res
         self.assertEqual(res['Description'], 'test.')
 
     def test_validate_ref_invalid(self):
index cec9ff4bd7d9004d1481a89777f853791cb6f6c2..5cc39bb55a1ed652a3384cc087e6b88430938f17 100644 (file)
@@ -29,6 +29,7 @@ from heat.engine import scheduler
 from heat.engine.resources import volume as vol
 from heat.engine import clients
 from heat.tests.v1_1 import fakes
+from heat.tests.utils import setup_dummy_db
 
 
 @attr(tag=['unit', 'resource', 'volume'])
@@ -45,6 +46,7 @@ class VolumeTest(unittest.TestCase):
         self.m.StubOutWithMock(self.fc.volumes, 'create_server_volume')
         self.m.StubOutWithMock(self.fc.volumes, 'delete_server_volume')
         self.m.StubOutWithMock(eventlet, 'sleep')
+        setup_dummy_db()
 
     def tearDown(self):
         self.m.UnsetStubs()
index 1e80e989d24f9ef9d0890502dd5245361ba7249f..c27f18524f64d4be705565cb0184d7d46997e355 100644 (file)
@@ -22,6 +22,7 @@ from heat.common import context
 from heat.common import exception
 from heat.common import template_format
 from heat.engine import parser
+from heat.tests.utils import setup_dummy_db
 
 try:
     from quantumclient.common.exceptions import QuantumClientException
@@ -34,6 +35,7 @@ except ImportError:
 class VPCTestBase(unittest.TestCase):
 
     def setUp(self):
+        setup_dummy_db()
         self.m = mox.Mox()
         self.m.StubOutWithMock(quantumclient.Client, 'add_interface_router')
         self.m.StubOutWithMock(quantumclient.Client, 'add_gateway_router')
index c211df0736139ea82fa2965e2c5f88aeb9b692db..a006e40d2afa30e2159d37a8d3097cc89c8981af 100644 (file)
@@ -25,6 +25,7 @@ import unittest
 
 from heat.tests import fakes
 from heat.tests.utils import stack_delete_after
+from heat.tests.utils import setup_dummy_db
 
 import heat.db.api as db_api
 from heat.common import template_format
@@ -79,8 +80,10 @@ test_template_wc_count = '''
 @attr(tag=['unit', 'resource', 'WaitCondition'])
 @attr(speed='slow')
 class WaitConditionTest(unittest.TestCase):
+
     def setUp(self):
         config.register_engine_opts()
+        setup_dummy_db()
         self.m = mox.Mox()
         self.m.StubOutWithMock(wc.WaitConditionHandle,
                                'get_status')
@@ -389,6 +392,7 @@ class WaitConditionHandleTest(unittest.TestCase):
                              'http://127.0.0.1:8000/v1/waitcondition')
 
         self.fc = fakes.FakeKeystoneClient()
+        setup_dummy_db()
         self.stack = self.create_stack()
 
     def tearDown(self):
index 7a0162d4a4c2d759485df2a535058e7066c5c49b..1e134c1af8f8cc49f131c31c245141bb7f774ef4 100644 (file)
@@ -23,6 +23,7 @@ import heat.db.api as db_api
 from heat.openstack.common import timeutils
 from heat.engine import watchrule
 from heat.engine import parser
+from heat.tests import utils
 
 
 class WatchData:
@@ -44,6 +45,7 @@ class WatchRuleTest(unittest.TestCase):
     def setUpClass(cls):
         # Create a dummy stack in the DB as WatchRule instances
         # must be associated with a stack
+        utils.setup_dummy_db()
         ctx = context.get_admin_context()
         ctx.username = 'dummyuser'
         ctx.tenant_id = '123456'
index fa5c7d4fa0f66bc673a3237872f39d40c1c65972..93056a895a219c8f30059f86cb89e33ae07970d9 100644 (file)
@@ -14,6 +14,8 @@
 
 
 import nose.plugins.skip as skip
+from heat.db.sqlalchemy.session import get_engine
+from heat.db import migration
 
 
 class skip_test(object):
@@ -70,7 +72,7 @@ def stack_delete_after(test_fn):
     to ensure tests clean up their stacks regardless of test success/failure
     """
     def wrapped_test(test_cls):
-        print "Running test", test_fn.__name__
+        #print "Running test", test_fn.__name__
         try:
             test_fn(test_cls)
         finally:
@@ -78,5 +80,11 @@ def stack_delete_after(test_fn):
                 test_cls.stack.delete()
             except AttributeError:
                 print "Could not delete stack (already deleted?)"
-        print "Exited", test_fn.__name__
+        #print "Exited", test_fn.__name__
     return wrapped_test
+
+
+def setup_dummy_db():
+    migration.db_sync()
+    engine = get_engine()
+    conn = engine.connect()