summaryrefslogtreecommitdiffstats
path: root/nova/tests
diff options
context:
space:
mode:
authorVishvananda Ishaya <vishvananda@yahoo.com>2010-10-21 00:39:01 +0000
committerTarmac <>2010-10-21 00:39:01 +0000
commitf94bdc1c7b8024609f2e9b6549a60a6cef091637 (patch)
tree148c752e70d3a622148e0d55ed6f2ff847f6f208 /nova/tests
parent8f55f8a93b0223b0e33b229ec512d87217521909 (diff)
parent08b4a4fb49744c9d3c499a52922a4e2cb2110e14 (diff)
Delays the creation of the looping calls that that check the queue until startService is called.
Diffstat (limited to 'nova/tests')
-rw-r--r--nova/tests/service_unittest.py44
1 files changed, 41 insertions, 3 deletions
diff --git a/nova/tests/service_unittest.py b/nova/tests/service_unittest.py
index 61db52742..8533fab0a 100644
--- a/nova/tests/service_unittest.py
+++ b/nova/tests/service_unittest.py
@@ -39,11 +39,44 @@ flags.DEFINE_string("fake_manager", "nova.tests.service_unittest.FakeManager",
class FakeManager(manager.Manager):
"""Fake manager for tests"""
- pass
+ def test_method(self):
+ return 'manager'
+
+
+class ExtendedService(service.Service):
+ def test_method(self):
+ return 'service'
+
+
+class ServiceManagerTestCase(test.BaseTestCase):
+ """Test cases for Services"""
+
+ def test_attribute_error_for_no_manager(self):
+ serv = service.Service('test',
+ 'test',
+ 'test',
+ 'nova.tests.service_unittest.FakeManager')
+ self.assertRaises(AttributeError, getattr, serv, 'test_method')
+
+ def test_message_gets_to_manager(self):
+ serv = service.Service('test',
+ 'test',
+ 'test',
+ 'nova.tests.service_unittest.FakeManager')
+ serv.startService()
+ self.assertEqual(serv.test_method(), 'manager')
+
+ def test_override_manager_method(self):
+ serv = ExtendedService('test',
+ 'test',
+ 'test',
+ 'nova.tests.service_unittest.FakeManager')
+ serv.startService()
+ self.assertEqual(serv.test_method(), 'service')
class ServiceTestCase(test.BaseTestCase):
- """Test cases for rpc"""
+ """Test cases for Services"""
def setUp(self): # pylint: disable=C0103
super(ServiceTestCase, self).setUp()
@@ -54,6 +87,11 @@ class ServiceTestCase(test.BaseTestCase):
host = 'foo'
binary = 'nova-fake'
topic = 'fake'
+
+ # NOTE(vish): Create was moved out of mox replay to make sure that
+ # the looping calls are created in StartService.
+ app = service.Service.create(host=host, binary=binary)
+
self.mox.StubOutWithMock(rpc,
'AdapterConsumer',
use_mock_anything=True)
@@ -99,7 +137,6 @@ class ServiceTestCase(test.BaseTestCase):
service_create).AndReturn(service_ref)
self.mox.ReplayAll()
- app = service.Service.create(host=host, binary=binary)
startApplication(app, False)
self.assert_(app)
@@ -190,3 +227,4 @@ class ServiceTestCase(test.BaseTestCase):
rv = yield s.report_state(host, binary)
self.assert_(not s.model_disconnected)
+