summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2012-08-17 18:28:36 +0000
committerGerrit Code Review <review@openstack.org>2012-08-17 18:28:36 +0000
commitfe80eafe04045f5b3df7d86c9da27639ef42651a (patch)
treef626b70b434f0a060c69fbf1f7e258f8a1534339
parent9315004a3cb96c50d5a915ba67e9f9be2f02aa3e (diff)
parentea54ad3dd2053404cb2fbbaa1a3613a5dece6345 (diff)
downloadnova-fe80eafe04045f5b3df7d86c9da27639ef42651a.tar.gz
nova-fe80eafe04045f5b3df7d86c9da27639ef42651a.tar.xz
nova-fe80eafe04045f5b3df7d86c9da27639ef42651a.zip
Merge "Fix use of non-existant var pool."
-rw-r--r--nova/console/api.py2
-rw-r--r--nova/tests/console/test_console.py70
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)