summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2011-11-01 18:24:48 +0000
committerGerrit Code Review <review@openstack.org>2011-11-01 18:24:48 +0000
commit71bd02356b41f682c6a196f75e0ed1accc8f5fb6 (patch)
treeca0dd87585ab6158ccb0c27b5aeb8fd4409038b8
parent44f9f331fe75ee2facc2be995632cdf20f319380 (diff)
parent18e43e6b4dffba73dd35afb797dfa4e1d6cd00fe (diff)
downloadnova-71bd02356b41f682c6a196f75e0ed1accc8f5fb6.tar.gz
nova-71bd02356b41f682c6a196f75e0ed1accc8f5fb6.tar.xz
nova-71bd02356b41f682c6a196f75e0ed1accc8f5fb6.zip
Merge changes I15dd5a5e,I0641f2c4
* changes: Support server uuids with security groups Support using server uuids when accessing consoles.
-rw-r--r--nova/api/openstack/consoles.py8
-rw-r--r--nova/api/openstack/contrib/security_groups.py8
-rw-r--r--nova/compute/api.py12
-rw-r--r--nova/console/api.py23
-rw-r--r--nova/tests/api/openstack/contrib/test_security_groups.py105
-rw-r--r--nova/tests/api/openstack/test_consoles.py74
6 files changed, 140 insertions, 90 deletions
diff --git a/nova/api/openstack/consoles.py b/nova/api/openstack/consoles.py
index d42d34069..7d8c0523e 100644
--- a/nova/api/openstack/consoles.py
+++ b/nova/api/openstack/consoles.py
@@ -54,7 +54,7 @@ class Controller(object):
"""Returns a list of consoles for this instance"""
consoles = self.console_api.get_consoles(
req.environ['nova.context'],
- int(server_id))
+ server_id)
return dict(consoles=[_translate_keys(console)
for console in consoles])
@@ -62,14 +62,14 @@ class Controller(object):
"""Creates a new console"""
self.console_api.create_console(
req.environ['nova.context'],
- int(server_id))
+ server_id)
def show(self, req, server_id, id):
"""Shows in-depth information on a specific console"""
try:
console = self.console_api.get_console(
req.environ['nova.context'],
- int(server_id),
+ server_id,
int(id))
except exception.NotFound:
raise exc.HTTPNotFound()
@@ -83,7 +83,7 @@ class Controller(object):
"""Deletes a console"""
try:
self.console_api.delete_console(req.environ['nova.context'],
- int(server_id),
+ server_id,
int(id))
except exception.NotFound:
raise exc.HTTPNotFound()
diff --git a/nova/api/openstack/contrib/security_groups.py b/nova/api/openstack/contrib/security_groups.py
index d8462b02c..662711951 100644
--- a/nova/api/openstack/contrib/security_groups.py
+++ b/nova/api/openstack/contrib/security_groups.py
@@ -349,10 +349,6 @@ class Security_groups(extensions.ExtensionDescriptor):
try:
body = input_dict['addSecurityGroup']
group_name = body['name']
- instance_id = int(instance_id)
- except ValueError:
- msg = _("Server id should be integer")
- raise exc.HTTPBadRequest(explanation=msg)
except TypeError:
msg = _("Missing parameter dict")
raise webob.exc.HTTPBadRequest(explanation=msg)
@@ -382,10 +378,6 @@ class Security_groups(extensions.ExtensionDescriptor):
try:
body = input_dict['removeSecurityGroup']
group_name = body['name']
- instance_id = int(instance_id)
- except ValueError:
- msg = _("Server id should be integer")
- raise exc.HTTPBadRequest(explanation=msg)
except TypeError:
msg = _("Missing parameter dict")
raise webob.exc.HTTPBadRequest(explanation=msg)
diff --git a/nova/compute/api.py b/nova/compute/api.py
index 8b5005e78..436dc79b5 100644
--- a/nova/compute/api.py
+++ b/nova/compute/api.py
@@ -699,7 +699,11 @@ class API(base.Base):
context.project_id,
security_group_name)
# check if the server exists
- inst = self.db.instance_get(context, instance_id)
+ if utils.is_uuid_like(instance_id):
+ inst = self.db.instance_get_by_uuid(context, instance_id)
+ else:
+ inst = self.db.instance_get(context, instance_id)
+ instance_id = inst['id']
#check if the security group is associated with the server
if self._is_security_group_associated_with_server(security_group,
instance_id):
@@ -725,7 +729,11 @@ class API(base.Base):
context.project_id,
security_group_name)
# check if the server exists
- inst = self.db.instance_get(context, instance_id)
+ if utils.is_uuid_like(instance_id):
+ inst = self.db.instance_get_by_uuid(context, instance_id)
+ else:
+ inst = self.db.instance_get(context, instance_id)
+ instance_id = inst['id']
#check if the security group is associated with the server
if not self._is_security_group_associated_with_server(security_group,
instance_id):
diff --git a/nova/console/api.py b/nova/console/api.py
index 137ddcaac..aa574132d 100644
--- a/nova/console/api.py
+++ b/nova/console/api.py
@@ -17,10 +17,11 @@
"""Handles ConsoleProxy API requests."""
+from nova.db import base
from nova import exception
from nova import flags
from nova import rpc
-from nova.db import base
+from nova import utils
FLAGS = flags.FLAGS
@@ -33,12 +34,15 @@ class API(base.Base):
super(API, self).__init__(**kwargs)
def get_consoles(self, context, instance_id):
+ instance_id = self._translate_uuid_if_necessary(context, instance_id)
return self.db.console_get_all_by_instance(context, instance_id)
def get_console(self, context, instance_id, console_id):
+ instance_id = self._translate_uuid_if_necessary(context, instance_id)
return self.db.console_get(context, console_id, instance_id)
def delete_console(self, context, instance_id, console_id):
+ instance_id = self._translate_uuid_if_necessary(context, instance_id)
console = self.db.console_get(context,
console_id,
instance_id)
@@ -51,16 +55,16 @@ class API(base.Base):
'args': {'console_id': console['id']}})
def create_console(self, context, instance_id):
- instance = self.db.instance_get(context, instance_id)
#NOTE(mdragon): If we wanted to return this the console info
# here, as we would need to do a call.
# They can just do an index later to fetch
# console info. I am not sure which is better
# here.
+ instance = self._get_instance(context, instance_id)
rpc.cast(context,
self._get_console_topic(context, instance['host']),
{'method': 'add_console',
- 'args': {'instance_id': instance_id}})
+ 'args': {'instance_id': instance['id']}})
def _get_console_topic(self, context, instance_host):
topic = self.db.queue_get_for(context,
@@ -68,3 +72,16 @@ class API(base.Base):
instance_host)
return rpc.call(context, topic, {'method': 'get_console_topic',
'args': {'fake': 1}})
+
+ def _translate_uuid_if_necessary(self, context, instance_id):
+ if utils.is_uuid_like(instance_id):
+ instance = self.db.instance_get_by_uuid(context, instance_id)
+ instance_id = instance['id']
+ return instance_id
+
+ def _get_instance(self, context, instance_id):
+ if utils.is_uuid_like(instance_id):
+ instance = self.db.instance_get_by_uuid(context, instance_id)
+ else:
+ instance = self.db.instance_get(context, instance_id)
+ return instance
diff --git a/nova/tests/api/openstack/contrib/test_security_groups.py b/nova/tests/api/openstack/contrib/test_security_groups.py
index bc1536911..65e60df7f 100644
--- a/nova/tests/api/openstack/contrib/test_security_groups.py
+++ b/nova/tests/api/openstack/contrib/test_security_groups.py
@@ -27,6 +27,9 @@ from nova.api.openstack.contrib import security_groups
from nova.tests.api.openstack import fakes
+FAKE_UUID = 'a47ae74e-ab08-447f-8eee-ffd43fc46c16'
+
+
def _get_create_request_json(body_dict):
req = webob.Request.blank('/v1.1/123/os-security-groups')
req.headers['Content-Type'] = 'application/json'
@@ -55,7 +58,17 @@ def _create_security_group_request_dict(security_group):
def return_server(context, server_id):
- return {'id': server_id, 'state': 0x01, 'host': "localhost"}
+ return {'id': int(server_id),
+ 'state': 0x01,
+ 'host': "localhost",
+ 'uuid': FAKE_UUID}
+
+
+def return_server_by_uuid(context, server_uuid):
+ return {'id': 1,
+ 'state': 0x01,
+ 'host': "localhost",
+ 'uuid': server_uuid}
def return_non_running_server(context, server_id):
@@ -72,7 +85,7 @@ def return_security_group_without_instances(context, project_id, group_name):
return {'id': 1, 'name': group_name}
-def return_server_nonexistant(context, server_id):
+def return_server_nonexistent(context, server_id):
raise exception.InstanceNotFound(instance_id=server_id)
@@ -351,28 +364,16 @@ class TestSecurityGroups(test.TestCase):
def test_associate_by_non_existing_security_group_name(self):
body = dict(addSecurityGroup=dict(name='non-existing'))
- req = webob.Request.blank('/v1.1/123/servers/1/action')
+ req = webob.Request.blank('/v1.1/123/servers/%s/action' % FAKE_UUID)
req.headers['Content-Type'] = 'application/json'
req.method = 'POST'
req.body = json.dumps(body)
response = req.get_response(fakes.wsgi_app())
self.assertEquals(response.status_int, 404)
- def test_associate_by_invalid_server_id(self):
- body = dict(addSecurityGroup=dict(name='test'))
- self.stubs.Set(nova.db, 'security_group_get_by_name',
- return_security_group)
- req = webob.Request.blank('/v1.1/123/servers/invalid/action')
- req.headers['Content-Type'] = 'application/json'
- req.method = 'POST'
- req.body = json.dumps(body)
- response = req.get_response(fakes.wsgi_app())
- self.assertEquals(response.status_int, 400)
-
def test_associate_without_body(self):
- req = webob.Request.blank('/v1.1/123/servers/1/action')
+ req = webob.Request.blank('/v1.1/123/servers/%s/action' % FAKE_UUID)
body = dict(addSecurityGroup=None)
- self.stubs.Set(nova.db, 'instance_get', return_server)
req.headers['Content-Type'] = 'application/json'
req.method = 'POST'
req.body = json.dumps(body)
@@ -380,9 +381,8 @@ class TestSecurityGroups(test.TestCase):
self.assertEquals(response.status_int, 400)
def test_associate_no_security_group_name(self):
- req = webob.Request.blank('/v1.1/123/servers/1/action')
+ req = webob.Request.blank('/v1.1/123/servers/%s/action' % FAKE_UUID)
body = dict(addSecurityGroup=dict())
- self.stubs.Set(nova.db, 'instance_get', return_server)
req.headers['Content-Type'] = 'application/json'
req.method = 'POST'
req.body = json.dumps(body)
@@ -390,9 +390,8 @@ class TestSecurityGroups(test.TestCase):
self.assertEquals(response.status_int, 400)
def test_associate_security_group_name_with_whitespaces(self):
- req = webob.Request.blank('/v1.1/123/servers/1/action')
+ req = webob.Request.blank('/v1.1/123/servers/%s/action' % FAKE_UUID)
body = dict(addSecurityGroup=dict(name=" "))
- self.stubs.Set(nova.db, 'instance_get', return_server)
req.headers['Content-Type'] = 'application/json'
req.method = 'POST'
req.body = json.dumps(body)
@@ -400,11 +399,13 @@ class TestSecurityGroups(test.TestCase):
self.assertEquals(response.status_int, 400)
def test_associate_non_existing_instance(self):
- self.stubs.Set(nova.db, 'instance_get', return_server_nonexistant)
+ self.stubs.Set(nova.db, 'instance_get', return_server_nonexistent)
+ self.stubs.Set(nova.db, 'instance_get_by_uuid',
+ return_server_nonexistent)
body = dict(addSecurityGroup=dict(name="test"))
self.stubs.Set(nova.db, 'security_group_get_by_name',
return_security_group)
- req = webob.Request.blank('/v1.1/123/servers/10000/action')
+ req = webob.Request.blank('/v1.1/123/servers/%s/action' % FAKE_UUID)
req.headers['Content-Type'] = 'application/json'
req.method = 'POST'
req.body = json.dumps(body)
@@ -413,10 +414,12 @@ class TestSecurityGroups(test.TestCase):
def test_associate_non_running_instance(self):
self.stubs.Set(nova.db, 'instance_get', return_non_running_server)
+ self.stubs.Set(nova.db, 'instance_get_by_uuid',
+ return_non_running_server)
self.stubs.Set(nova.db, 'security_group_get_by_name',
return_security_group_without_instances)
body = dict(addSecurityGroup=dict(name="test"))
- req = webob.Request.blank('/v1.1/123/servers/1/action')
+ req = webob.Request.blank('/v1.1/123/servers/%s/action' % FAKE_UUID)
req.headers['Content-Type'] = 'application/json'
req.method = 'POST'
req.body = json.dumps(body)
@@ -425,10 +428,12 @@ class TestSecurityGroups(test.TestCase):
def test_associate_already_associated_security_group_to_instance(self):
self.stubs.Set(nova.db, 'instance_get', return_server)
+ self.stubs.Set(nova.db, 'instance_get_by_uuid',
+ return_server_by_uuid)
self.stubs.Set(nova.db, 'security_group_get_by_name',
return_security_group)
body = dict(addSecurityGroup=dict(name="test"))
- req = webob.Request.blank('/v1.1/123/servers/1/action')
+ req = webob.Request.blank('/v1.1/123/servers/%s/action' % FAKE_UUID)
req.headers['Content-Type'] = 'application/json'
req.method = 'POST'
req.body = json.dumps(body)
@@ -437,6 +442,8 @@ class TestSecurityGroups(test.TestCase):
def test_associate(self):
self.stubs.Set(nova.db, 'instance_get', return_server)
+ self.stubs.Set(nova.db, 'instance_get_by_uuid',
+ return_server_by_uuid)
self.mox.StubOutWithMock(nova.db, 'instance_add_security_group')
nova.db.instance_add_security_group(mox.IgnoreArg(),
mox.IgnoreArg(),
@@ -446,7 +453,7 @@ class TestSecurityGroups(test.TestCase):
self.mox.ReplayAll()
body = dict(addSecurityGroup=dict(name="test"))
- req = webob.Request.blank('/v1.1/123/servers/1/action')
+ req = webob.Request.blank('/v1.1/123/servers/%s/action' % FAKE_UUID)
req.headers['Content-Type'] = 'application/json'
req.method = 'POST'
req.body = json.dumps(body)
@@ -455,6 +462,8 @@ class TestSecurityGroups(test.TestCase):
def test_associate_xml(self):
self.stubs.Set(nova.db, 'instance_get', return_server)
+ self.stubs.Set(nova.db, 'instance_get_by_uuid',
+ return_server_by_uuid)
self.mox.StubOutWithMock(nova.db, 'instance_add_security_group')
nova.db.instance_add_security_group(mox.IgnoreArg(),
mox.IgnoreArg(),
@@ -463,7 +472,7 @@ class TestSecurityGroups(test.TestCase):
return_security_group_without_instances)
self.mox.ReplayAll()
- req = webob.Request.blank('/v1.1/123/servers/1/action')
+ req = webob.Request.blank('/v1.1/123/servers/%s/action' % FAKE_UUID)
req.headers['Content-Type'] = 'application/xml'
req.method = 'POST'
req.body = """<addSecurityGroup>
@@ -474,28 +483,16 @@ class TestSecurityGroups(test.TestCase):
def test_disassociate_by_non_existing_security_group_name(self):
body = dict(removeSecurityGroup=dict(name='non-existing'))
- req = webob.Request.blank('/v1.1/123/servers/1/action')
+ req = webob.Request.blank('/v1.1/123/servers/%s/action' % FAKE_UUID)
req.headers['Content-Type'] = 'application/json'
req.method = 'POST'
req.body = json.dumps(body)
response = req.get_response(fakes.wsgi_app())
self.assertEquals(response.status_int, 404)
- def test_disassociate_by_invalid_server_id(self):
- body = dict(removeSecurityGroup=dict(name='test'))
- self.stubs.Set(nova.db, 'security_group_get_by_name',
- return_security_group)
- req = webob.Request.blank('/v1.1/123/servers/invalid/action')
- req.headers['Content-Type'] = 'application/json'
- req.method = 'POST'
- req.body = json.dumps(body)
- response = req.get_response(fakes.wsgi_app())
- self.assertEquals(response.status_int, 400)
-
def test_disassociate_without_body(self):
- req = webob.Request.blank('/v1.1/123/servers/1/action')
+ req = webob.Request.blank('/v1.1/123/servers/%s/action' % FAKE_UUID)
body = dict(removeSecurityGroup=None)
- self.stubs.Set(nova.db, 'instance_get', return_server)
req.headers['Content-Type'] = 'application/json'
req.method = 'POST'
req.body = json.dumps(body)
@@ -503,9 +500,8 @@ class TestSecurityGroups(test.TestCase):
self.assertEquals(response.status_int, 400)
def test_disassociate_no_security_group_name(self):
- req = webob.Request.blank('/v1.1/123/servers/1/action')
+ req = webob.Request.blank('/v1.1/123/servers/%s/action' % FAKE_UUID)
body = dict(removeSecurityGroup=dict())
- self.stubs.Set(nova.db, 'instance_get', return_server)
req.headers['Content-Type'] = 'application/json'
req.method = 'POST'
req.body = json.dumps(body)
@@ -513,9 +509,8 @@ class TestSecurityGroups(test.TestCase):
self.assertEquals(response.status_int, 400)
def test_disassociate_security_group_name_with_whitespaces(self):
- req = webob.Request.blank('/v1.1/123/servers/1/action')
+ req = webob.Request.blank('/v1.1/123/servers/%s/action' % FAKE_UUID)
body = dict(removeSecurityGroup=dict(name=" "))
- self.stubs.Set(nova.db, 'instance_get', return_server)
req.headers['Content-Type'] = 'application/json'
req.method = 'POST'
req.body = json.dumps(body)
@@ -523,11 +518,13 @@ class TestSecurityGroups(test.TestCase):
self.assertEquals(response.status_int, 400)
def test_disassociate_non_existing_instance(self):
- self.stubs.Set(nova.db, 'instance_get', return_server_nonexistant)
+ self.stubs.Set(nova.db, 'instance_get', return_server_nonexistent)
+ self.stubs.Set(nova.db, 'instance_get_by_uuid',
+ return_server_nonexistent)
body = dict(removeSecurityGroup=dict(name="test"))
self.stubs.Set(nova.db, 'security_group_get_by_name',
return_security_group)
- req = webob.Request.blank('/v1.1/123/servers/10000/action')
+ req = webob.Request.blank('/v1.1/123/servers/%s/action' % FAKE_UUID)
req.headers['Content-Type'] = 'application/json'
req.method = 'POST'
req.body = json.dumps(body)
@@ -536,10 +533,12 @@ class TestSecurityGroups(test.TestCase):
def test_disassociate_non_running_instance(self):
self.stubs.Set(nova.db, 'instance_get', return_non_running_server)
+ self.stubs.Set(nova.db, 'instance_get_by_uuid',
+ return_non_running_server)
self.stubs.Set(nova.db, 'security_group_get_by_name',
return_security_group)
body = dict(removeSecurityGroup=dict(name="test"))
- req = webob.Request.blank('/v1.1/123/servers/1/action')
+ req = webob.Request.blank('/v1.1/123/servers/%s/action' % FAKE_UUID)
req.headers['Content-Type'] = 'application/json'
req.method = 'POST'
req.body = json.dumps(body)
@@ -548,10 +547,12 @@ class TestSecurityGroups(test.TestCase):
def test_disassociate_already_associated_security_group_to_instance(self):
self.stubs.Set(nova.db, 'instance_get', return_server)
+ self.stubs.Set(nova.db, 'instance_get_by_uuid',
+ return_server_by_uuid)
self.stubs.Set(nova.db, 'security_group_get_by_name',
return_security_group_without_instances)
body = dict(removeSecurityGroup=dict(name="test"))
- req = webob.Request.blank('/v1.1/123/servers/1/action')
+ req = webob.Request.blank('/v1.1/123/servers/%s/action' % FAKE_UUID)
req.headers['Content-Type'] = 'application/json'
req.method = 'POST'
req.body = json.dumps(body)
@@ -560,6 +561,8 @@ class TestSecurityGroups(test.TestCase):
def test_disassociate(self):
self.stubs.Set(nova.db, 'instance_get', return_server)
+ self.stubs.Set(nova.db, 'instance_get_by_uuid',
+ return_server_by_uuid)
self.mox.StubOutWithMock(nova.db, 'instance_remove_security_group')
nova.db.instance_remove_security_group(mox.IgnoreArg(),
mox.IgnoreArg(),
@@ -569,7 +572,7 @@ class TestSecurityGroups(test.TestCase):
self.mox.ReplayAll()
body = dict(removeSecurityGroup=dict(name="test"))
- req = webob.Request.blank('/v1.1/123/servers/1/action')
+ req = webob.Request.blank('/v1.1/123/servers/%s/action' % FAKE_UUID)
req.headers['Content-Type'] = 'application/json'
req.method = 'POST'
req.body = json.dumps(body)
@@ -578,6 +581,8 @@ class TestSecurityGroups(test.TestCase):
def test_disassociate_xml(self):
self.stubs.Set(nova.db, 'instance_get', return_server)
+ self.stubs.Set(nova.db, 'instance_get_by_uuid',
+ return_server_by_uuid)
self.mox.StubOutWithMock(nova.db, 'instance_remove_security_group')
nova.db.instance_remove_security_group(mox.IgnoreArg(),
mox.IgnoreArg(),
@@ -586,7 +591,7 @@ class TestSecurityGroups(test.TestCase):
return_security_group)
self.mox.ReplayAll()
- req = webob.Request.blank('/v1.1/123/servers/1/action')
+ req = webob.Request.blank('/v1.1/123/servers/%s/action' % FAKE_UUID)
req.headers['Content-Type'] = 'application/xml'
req.method = 'POST'
req.body = """<removeSecurityGroup>
diff --git a/nova/tests/api/openstack/test_consoles.py b/nova/tests/api/openstack/test_consoles.py
index 49f5230b4..679419916 100644
--- a/nova/tests/api/openstack/test_consoles.py
+++ b/nova/tests/api/openstack/test_consoles.py
@@ -38,9 +38,33 @@ FLAGS = flags.FLAGS
FAKE_UUID = 'aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa'
-def return_server_by_id(context, id):
- print "GOT HERE"
- return stub_instance(id)
+class FakeInstanceDB(object):
+
+ def __init__(self):
+ self.instances_by_id = {}
+ self.ids_by_uuid = {}
+ self.max_id = 0
+
+ def return_server_by_id(self, context, id):
+ if id not in self.instances_by_id:
+ self._add_server(id=id)
+ return dict(self.instances_by_id[id])
+
+ def return_server_by_uuid(self, context, uuid):
+ if uuid not in self.ids_by_uuid:
+ self._add_server(uuid=uuid)
+ return dict(self.instances_by_id[ids_by_uuid[uuid]])
+
+ def _add_server(self, id=None, uuid=None):
+ if id is None:
+ id = self.max_id + 1
+ if uuid is None:
+ uuid = str(utils.gen_uuid())
+ instance = stub_instance(id, uuid=uuid)
+ self.instances_by_id[id] = instance
+ self.ids_by_uuid[uuid] = id
+ if id > self.max_id:
+ self.max_id = id
def stub_instance(id, user_id='fake', project_id='fake', host=None,
@@ -64,7 +88,6 @@ def stub_instance(id, user_id='fake', project_id='fake', host=None,
instance = {
"id": int(id),
- "uuid": FAKE_UUID,
"created_at": datetime.datetime(2010, 10, 10, 12, 0, 0),
"updated_at": datetime.datetime(2010, 11, 11, 11, 0, 0),
"admin_pass": "",
@@ -107,23 +130,28 @@ class ConsolesTest(test.TestCase):
def setUp(self):
super(ConsolesTest, self).setUp()
self.flags(verbose=True)
- self.stubs.Set(db, 'instance_get', return_server_by_id)
- self.webreq = common.webob_factory('/v1.1/fake/servers')
+ self.instance_db = FakeInstanceDB()
+ self.stubs.Set(db, 'instance_get',
+ self.instance_db.return_server_by_id)
+ self.stubs.Set(db, 'instance_get_by_uuid',
+ self.instance_db.return_server_by_uuid)
+ self.uuid = str(utils.gen_uuid())
+ self.url = '/v1.1/fake/servers/%s/consoles' % self.uuid
def test_create_console(self):
def fake_create_console(cons_self, context, instance_id):
- self.assertTrue(instance_id, 10)
+ self.assertTrue(instance_id, '10')
return {}
self.stubs.Set(console.API, 'create_console', fake_create_console)
- req = webob.Request.blank('/v1.1/fake/servers/10/consoles')
+ req = webob.Request.blank(self.url)
req.method = "POST"
res = req.get_response(fakes.wsgi_app())
self.assertEqual(res.status_int, 200)
def test_show_console(self):
def fake_get_console(cons_self, context, instance_id, console_id):
- self.assertEqual(instance_id, 10)
+ self.assertEqual(instance_id, self.uuid)
self.assertEqual(console_id, 20)
pool = dict(console_type='fake_type',
public_hostname='fake_hostname')
@@ -138,7 +166,7 @@ class ConsolesTest(test.TestCase):
self.stubs.Set(console.API, 'get_console', fake_get_console)
- req = webob.Request.blank('/v1.1/fake/servers/10/consoles/20')
+ req = webob.Request.blank(self.url + '/20')
res = req.get_response(fakes.wsgi_app())
self.assertEqual(res.status_int, 200)
res_dict = json.loads(res.body)
@@ -146,7 +174,7 @@ class ConsolesTest(test.TestCase):
def test_show_console_xml(self):
def fake_get_console(cons_self, context, instance_id, console_id):
- self.assertEqual(instance_id, 10)
+ self.assertEqual(instance_id, self.uuid)
self.assertEqual(console_id, 20)
pool = dict(console_type='fake_type',
public_hostname='fake_hostname')
@@ -155,7 +183,7 @@ class ConsolesTest(test.TestCase):
self.stubs.Set(console.API, 'get_console', fake_get_console)
- req = webob.Request.blank('/v1.1/fake/servers/10/consoles/20.xml')
+ req = webob.Request.blank(self.url + '/20.xml')
res = req.get_response(fakes.wsgi_app())
self.assertEqual(res.status_int, 200)
@@ -174,7 +202,7 @@ class ConsolesTest(test.TestCase):
self.stubs.Set(console.API, 'get_console', fake_get_console)
- req = webob.Request.blank('/v1.1/fake/servers/10/consoles/20')
+ req = webob.Request.blank(self.url + '/20')
res = req.get_response(fakes.wsgi_app())
self.assertEqual(res.status_int, 404)
@@ -184,13 +212,13 @@ class ConsolesTest(test.TestCase):
self.stubs.Set(console.API, 'get_console', fake_get_console)
- req = webob.Request.blank('/v1.1/fake/servers/10/consoles/20')
+ req = webob.Request.blank(self.url + '/20')
res = req.get_response(fakes.wsgi_app())
self.assertEqual(res.status_int, 404)
def test_list_consoles(self):
def fake_get_consoles(cons_self, context, instance_id):
- self.assertEqual(instance_id, 10)
+ self.assertEqual(instance_id, self.uuid)
pool1 = dict(console_type='fake_type',
public_hostname='fake_hostname')
@@ -208,7 +236,7 @@ class ConsolesTest(test.TestCase):
self.stubs.Set(console.API, 'get_consoles', fake_get_consoles)
- req = webob.Request.blank('/v1.1/fake/servers/10/consoles')
+ req = webob.Request.blank(self.url)
res = req.get_response(fakes.wsgi_app())
self.assertEqual(res.status_int, 200)
res_dict = json.loads(res.body)
@@ -216,7 +244,7 @@ class ConsolesTest(test.TestCase):
def test_list_consoles_xml(self):
def fake_get_consoles(cons_self, context, instance_id):
- self.assertEqual(instance_id, 10)
+ self.assertEqual(instance_id, self.uuid)
pool1 = dict(console_type='fake_type',
public_hostname='fake_hostname')
@@ -234,7 +262,7 @@ class ConsolesTest(test.TestCase):
self.stubs.Set(console.API, 'get_consoles', fake_get_consoles)
- req = webob.Request.blank('/v1.1/fake/servers/10/consoles.xml')
+ req = webob.Request.blank(self.url + '.xml')
res = req.get_response(fakes.wsgi_app())
self.assertEqual(res.status_int, 200)
@@ -256,7 +284,7 @@ class ConsolesTest(test.TestCase):
def test_delete_console(self):
def fake_get_console(cons_self, context, instance_id, console_id):
- self.assertEqual(instance_id, 10)
+ self.assertEqual(instance_id, self.uuid)
self.assertEqual(console_id, 20)
pool = dict(console_type='fake_type',
public_hostname='fake_hostname')
@@ -264,13 +292,13 @@ class ConsolesTest(test.TestCase):
port='fake_port', pool=pool)
def fake_delete_console(cons_self, context, instance_id, console_id):
- self.assertEqual(instance_id, 10)
+ self.assertEqual(instance_id, self.uuid)
self.assertEqual(console_id, 20)
self.stubs.Set(console.API, 'get_console', fake_get_console)
self.stubs.Set(console.API, 'delete_console', fake_delete_console)
- req = webob.Request.blank('/v1.1/fake/servers/10/consoles/20')
+ req = webob.Request.blank(self.url + '/20')
req.method = "DELETE"
res = req.get_response(fakes.wsgi_app())
self.assertEqual(res.status_int, 202)
@@ -281,7 +309,7 @@ class ConsolesTest(test.TestCase):
self.stubs.Set(console.API, 'delete_console', fake_delete_console)
- req = webob.Request.blank('/v1.1/fake/servers/10/consoles/20')
+ req = webob.Request.blank(self.url + '/20')
req.method = "DELETE"
res = req.get_response(fakes.wsgi_app())
self.assertEqual(res.status_int, 404)
@@ -292,7 +320,7 @@ class ConsolesTest(test.TestCase):
self.stubs.Set(console.API, 'delete_console', fake_delete_console)
- req = webob.Request.blank('/v1.1/fake/servers/10/consoles/20')
+ req = webob.Request.blank(self.url + '/20')
req.method = "DELETE"
res = req.get_response(fakes.wsgi_app())
self.assertEqual(res.status_int, 404)