diff options
author | Jenkins <jenkins@review.openstack.org> | 2011-11-01 18:24:48 +0000 |
---|---|---|
committer | Gerrit Code Review <review@openstack.org> | 2011-11-01 18:24:48 +0000 |
commit | 71bd02356b41f682c6a196f75e0ed1accc8f5fb6 (patch) | |
tree | ca0dd87585ab6158ccb0c27b5aeb8fd4409038b8 | |
parent | 44f9f331fe75ee2facc2be995632cdf20f319380 (diff) | |
parent | 18e43e6b4dffba73dd35afb797dfa4e1d6cd00fe (diff) | |
download | nova-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.py | 8 | ||||
-rw-r--r-- | nova/api/openstack/contrib/security_groups.py | 8 | ||||
-rw-r--r-- | nova/compute/api.py | 12 | ||||
-rw-r--r-- | nova/console/api.py | 23 | ||||
-rw-r--r-- | nova/tests/api/openstack/contrib/test_security_groups.py | 105 | ||||
-rw-r--r-- | nova/tests/api/openstack/test_consoles.py | 74 |
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) |