diff options
author | Jenkins <jenkins@review.openstack.org> | 2012-08-17 18:28:36 +0000 |
---|---|---|
committer | Gerrit Code Review <review@openstack.org> | 2012-08-17 18:28:36 +0000 |
commit | fe80eafe04045f5b3df7d86c9da27639ef42651a (patch) | |
tree | f626b70b434f0a060c69fbf1f7e258f8a1534339 | |
parent | 9315004a3cb96c50d5a915ba67e9f9be2f02aa3e (diff) | |
parent | ea54ad3dd2053404cb2fbbaa1a3613a5dece6345 (diff) | |
download | nova-fe80eafe04045f5b3df7d86c9da27639ef42651a.tar.gz nova-fe80eafe04045f5b3df7d86c9da27639ef42651a.tar.xz nova-fe80eafe04045f5b3df7d86c9da27639ef42651a.zip |
Merge "Fix use of non-existant var pool."
-rw-r--r-- | nova/console/api.py | 2 | ||||
-rw-r--r-- | nova/tests/console/test_console.py | 70 |
2 files changed, 70 insertions, 2 deletions
diff --git a/nova/console/api.py b/nova/console/api.py index 32004094a..b974f4d93 100644 --- a/nova/console/api.py +++ b/nova/console/api.py @@ -43,7 +43,7 @@ class API(base.Base): def delete_console(self, context, instance_uuid, console_uuid): console = self.db.console_get(context, console_uuid, instance_uuid) topic = rpc.queue_get_for(context, FLAGS.console_topic, - pool['host']) + console['pool']['host']) rpcapi = console_rpcapi.ConsoleAPI(topic=topic) rpcapi.remove_console(context, console['id']) diff --git a/nova/tests/console/test_console.py b/nova/tests/console/test_console.py index 8f9b87fa9..f1e1edc54 100644 --- a/nova/tests/console/test_console.py +++ b/nova/tests/console/test_console.py @@ -18,11 +18,14 @@ """Tests For Console proxy.""" +from nova.console import api as console_api +from nova.console import rpcapi as console_rpcapi from nova import context from nova import db from nova import exception from nova import flags from nova.openstack.common import importutils +from nova.openstack.common import rpc from nova import test FLAGS = flags.FLAGS @@ -30,7 +33,7 @@ flags.DECLARE('console_driver', 'nova.console.manager') class ConsoleTestCase(test.TestCase): - """Test case for console proxy""" + """Test case for console proxy manager""" def setUp(self): super(ConsoleTestCase, self).setUp() self.flags(console_driver='nova.console.fake.FakeConsoleProxy', @@ -116,3 +119,68 @@ class ConsoleTestCase(test.TestCase): self.context, console_id) db.instance_destroy(self.context, instance['uuid']) + + +class ConsoleAPITestCase(test.TestCase): + """Test case for console API""" + def setUp(self): + super(ConsoleAPITestCase, self).setUp() + + self.context = context.RequestContext('fake', 'fake') + self.console_api = console_api.API() + self.fake_uuid = '00000000-aaaa-bbbb-cccc-000000000000' + self.fake_instance = { + 'id': 1, + 'uuid': self.fake_uuid, + 'host': 'fake_host' + } + self.fake_console = { + 'pool': {'host': 'fake_host'}, + 'id': 'fake_id' + } + + def _fake_cast(_ctxt, _topic, _msg): + pass + self.stubs.Set(rpc, 'cast', _fake_cast) + + def _fake_db_console_get(_ctxt, _console_uuid, _instance_uuid): + return self.fake_console + self.stubs.Set(db, 'console_get', _fake_db_console_get) + + def _fake_db_console_get_all_by_instance(_ctxt, _instance_uuid): + return [self.fake_console] + self.stubs.Set(db, 'console_get_all_by_instance', + _fake_db_console_get_all_by_instance) + + def _fake_instance_get_by_uuid(_ctxt, _instance_uuid): + return self.fake_instance + self.stubs.Set(db, 'instance_get_by_uuid', _fake_instance_get_by_uuid) + + def test_get_consoles(self): + console = self.console_api.get_consoles(self.context, self.fake_uuid) + self.assertEqual(console, [self.fake_console]) + + def test_get_console(self): + console = self.console_api.get_console(self.context, self.fake_uuid, + 'fake_id') + self.assertEqual(console, self.fake_console) + + def test_delete_console(self): + self.mox.StubOutWithMock(console_rpcapi.ConsoleAPI, 'remove_console') + + console_rpcapi.ConsoleAPI.remove_console(self.context, 'fake_id') + + self.mox.ReplayAll() + + self.console_api.delete_console(self.context, self.fake_uuid, + 'fake_id') + + def test_create_console(self): + self.mox.StubOutWithMock(console_rpcapi.ConsoleAPI, 'add_console') + + console_rpcapi.ConsoleAPI.add_console(self.context, + self.fake_instance['id']) + + self.mox.ReplayAll() + + self.console_api.create_console(self.context, self.fake_uuid) |