summaryrefslogtreecommitdiffstats
path: root/nova/tests
diff options
context:
space:
mode:
authorPhil Day <philip.day@hp.com>2013-01-31 12:55:19 +0000
committerPhil Day <philip.day@hp.com>2013-02-04 16:57:45 +0000
commit9deabd21f49cd986b642d5f3718d6285da83e8bb (patch)
treeb8f93c2dc9d55b3221be08bd59dd85750b519842 /nova/tests
parent194ec6204ee3a67193b1ffd63de073d50878ce77 (diff)
Default value of monkey_patch_modules is broken
The default value of monkey_patch_modules has not kept up with the move of notifier to openstack.common Without this change setting 'monkey_patch=True' in nova.conf will cause runtime errors unless the monkey_patch_modules is also specified pointing to the correct notifier Change-Id: Ib22faa7404b09791799338de2edfe0ddcd662d5f
Diffstat (limited to 'nova/tests')
-rw-r--r--nova/tests/test_utils.py27
1 files changed, 27 insertions, 0 deletions
diff --git a/nova/tests/test_utils.py b/nova/tests/test_utils.py
index 84d56cadf..723d6ab58 100644
--- a/nova/tests/test_utils.py
+++ b/nova/tests/test_utils.py
@@ -17,6 +17,7 @@
import __builtin__
import datetime
import hashlib
+import importlib
import os
import os.path
import StringIO
@@ -26,10 +27,13 @@ import mox
import nova
from nova import exception
+from nova.openstack.common import cfg
from nova.openstack.common import timeutils
from nova import test
from nova import utils
+CONF = cfg.CONF
+
class ByteConversionTest(test.TestCase):
def test_string_conversions(self):
@@ -509,6 +513,29 @@ class MonkeyPatchTestCase(test.TestCase):
in nova.tests.monkey_patch_example.CALLED_FUNCTION)
+class MonkeyPatchDefaultTestCase(test.TestCase):
+ """Unit test for default monkey_patch_modules value."""
+
+ def setUp(self):
+ super(MonkeyPatchDefaultTestCase, self).setUp()
+ self.flags(
+ monkey_patch=True)
+
+ def test_monkey_patch_default_mod(self):
+ # monkey_patch_modules is defined to be
+ # <module_to_patch>:<decorator_to_patch_with>
+ # Here we check that both parts of the default values are
+ # valid
+ for module in CONF.monkey_patch_modules:
+ m = module.split(':', 1)
+ # Check we can import the module to be patched
+ importlib.import_module(m[0])
+ # check the decorator is valid
+ decorator_name = m[1].rsplit('.', 1)
+ decorator_module = importlib.import_module(decorator_name[0])
+ getattr(decorator_module, decorator_name[1])
+
+
class AuditPeriodTest(test.TestCase):
def setUp(self):