diff options
| author | Brian Waldon <brian.waldon@rackspace.com> | 2011-11-17 15:59:24 -0800 |
|---|---|---|
| committer | Brian Waldon <brian.waldon@rackspace.com> | 2011-11-17 16:46:20 -0800 |
| commit | 6749f31604d9787d48b2bc1a02b5b5e5f23eefa8 (patch) | |
| tree | 7d894b7fdd129bd6e2d1ab4f2be5cb25e4741328 | |
| parent | 15f32f22215ffe0c8939dc05aaeb2eb9d3f52e74 (diff) | |
Converting tests to use v2
- Convert all OpenStack API tests to use v1.1 instead of v2
- Keeps v1.1 as an alternate endpoint, but it is functionally equivalent to v2
Change-Id: I9b6796dc4507c3d5c1432266daa5b5f1dcf540c3
38 files changed, 594 insertions, 628 deletions
diff --git a/nova/api/openstack/common.py b/nova/api/openstack/common.py index 1a6800ac0..5def03f78 100644 --- a/nova/api/openstack/common.py +++ b/nova/api/openstack/common.py @@ -20,7 +20,6 @@ import os import re import urlparse -from lxml import etree import webob from xml.dom import minidom @@ -28,11 +27,9 @@ from nova.api.openstack import wsgi from nova.api.openstack import xmlutil from nova.compute import vm_states from nova.compute import task_states -from nova import exception from nova import flags from nova import ipv6 from nova import log as logging -import nova.network from nova import quota @@ -226,8 +223,14 @@ def remove_version_from_href(href): """ parsed_url = urlparse.urlsplit(href) - new_path = re.sub(r'^/v[0-9]+\.[0-9]+(/|$)', r'\1', parsed_url.path, - count=1) + url_parts = parsed_url.path.split('/', 2) + + # NOTE: this should match vX.X or vX + expression = re.compile(r'^v([0-9]+|[0-9]+\.[0-9]+)(/.*|$)') + if expression.match(url_parts[1]): + del url_parts[1] + + new_path = '/'.join(url_parts) if new_path == parsed_url.path: msg = _('href %s does not contain version') % href @@ -253,15 +256,10 @@ def get_version_from_href(href): """ try: - #finds the first instance that matches /v#.#/ - version = re.findall(r'[/][v][0-9]+\.[0-9]+[/]', href) - #if no version was found, try finding /v#.# at the end of the string - if not version: - version = re.findall(r'[/][v][0-9]+\.[0-9]+$', href) - version = re.findall(r'[0-9]+\.[0-9]', version[0])[0] + expression = r'/v([0-9]+|[0-9]+\.[0-9]+)(/|$)' + return re.findall(expression, href)[0][0] except IndexError: - version = '1.0' - return version + return '2' def check_img_metadata_quota_limit(context, metadata): diff --git a/nova/api/openstack/v2/auth.py b/nova/api/openstack/v2/auth.py index c0ea30671..ba5fb603f 100644 --- a/nova/api/openstack/v2/auth.py +++ b/nova/api/openstack/v2/auth.py @@ -103,12 +103,12 @@ class AuthMiddleware(base_wsgi.Middleware): path_parts = req.path.split('/') # TODO(wwolf): this v1.1 check will be temporary as # keystone should be taking this over at some point - if len(path_parts) > 1 and path_parts[1] == 'v1.1': + if len(path_parts) > 1 and path_parts[1] in ('v1.1', 'v2'): project_id = path_parts[2] # Check that the project for project_id exists, and that user # is authorized to use it try: - project = self.auth.get_project(project_id) + self.auth.get_project(project_id) except exception.ProjectNotFound: return wsgi.Fault(webob.exc.HTTPUnauthorized()) if project_id not in [p.id for p in projects]: @@ -153,7 +153,7 @@ class AuthMiddleware(base_wsgi.Middleware): path_info = req.path_info if len(path_info) > 1: msg = _("Authentication requests must be made against a version " - "root (e.g. /v1.0 or /v1.1).") + "root (e.g. /v2).") LOG.warn(msg) return wsgi.Fault(webob.exc.HTTPUnauthorized(explanation=msg)) @@ -243,7 +243,7 @@ class AuthMiddleware(base_wsgi.Middleware): os_url = req.url token_dict['server_management_url'] = os_url.strip('/') version = common.get_version_from_href(os_url) - if version == '1.1': + if version in ('1.1', '2'): token_dict['server_management_url'] += '/' + project_id token_dict['storage_url'] = '' token_dict['user_id'] = user.id diff --git a/nova/api/openstack/v2/versions.py b/nova/api/openstack/v2/versions.py index 3c3d4068c..4f5dcc0b0 100644 --- a/nova/api/openstack/v2/versions.py +++ b/nova/api/openstack/v2/versions.py @@ -18,8 +18,6 @@ from datetime import datetime from lxml import etree -import webob -import webob.dec from nova.api.openstack.v2.views import versions as views_versions from nova.api.openstack import wsgi @@ -27,8 +25,8 @@ from nova.api.openstack import xmlutil VERSIONS = { - "v1.1": { - "id": "v1.1", + "v2.0": { + "id": "v2.0", "status": "CURRENT", "updated": "2011-01-21T11:33:21Z", "links": [ @@ -48,14 +46,14 @@ VERSIONS = { "media-types": [ { "base": "application/xml", - "type": "application/vnd.openstack.compute+xml;version=1.1", + "type": "application/vnd.openstack.compute+xml;version=2", }, { "base": "application/json", - "type": "application/vnd.openstack.compute+json;version=1.1", + "type": "application/vnd.openstack.compute+json;version=2", } ], - }, + } } @@ -94,10 +92,10 @@ class Versions(wsgi.Resource): return builder.build_choices(VERSIONS, request) -class VersionV11(object): +class VersionV2(object): def show(self, req): builder = views_versions.get_view_builder(req) - return builder.build_version(VERSIONS['v1.1']) + return builder.build_version(VERSIONS['v2.0']) class VersionsRequestDeserializer(wsgi.RequestDeserializer): @@ -257,5 +255,5 @@ def create_resource(): deserializer = wsgi.RequestDeserializer() - return wsgi.Resource(VersionV11(), serializer=serializer, + return wsgi.Resource(VersionV2(), serializer=serializer, deserializer=deserializer) diff --git a/nova/api/openstack/v2/views/versions.py b/nova/api/openstack/v2/views/versions.py index 1ac398706..cb2fd9f4a 100644 --- a/nova/api/openstack/v2/views/versions.py +++ b/nova/api/openstack/v2/views/versions.py @@ -42,7 +42,7 @@ class ViewBuilder(object): "links": [ { "rel": "self", - "href": self.generate_href(version['id'], req.path), + "href": self.generate_href(req.path), }, ], "media-types": version['media-types'], @@ -73,7 +73,7 @@ class ViewBuilder(object): def _build_links(self, version_data): """Generate a container of links that refer to the provided version.""" - href = self.generate_href(version_data["id"]) + href = self.generate_href() links = [ { @@ -84,9 +84,9 @@ class ViewBuilder(object): return links - def generate_href(self, version_number, path=None): + def generate_href(self, path=None): """Create an url that refers to a specific version_number.""" - version_number = version_number.strip('/') + version_number = 'v2' if path: path = path.strip('/') return os.path.join(self.base_url, version_number, path) diff --git a/nova/tests/api/openstack/fakes.py b/nova/tests/api/openstack/fakes.py index c12ae5eab..2b9347b9e 100644 --- a/nova/tests/api/openstack/fakes.py +++ b/nova/tests/api/openstack/fakes.py @@ -97,7 +97,7 @@ def wsgi_app(inner_app_v2=None, fake_auth=True, fake_auth_context=None, limits.RateLimitingMiddleware( serialization( extensions.ExtensionMiddleware(inner_app_v2))))) - Auth = auth + mapper = urlmap.URLMap() mapper['/v2'] = api_v2 mapper['/v1.1'] = api_v2 @@ -250,7 +250,7 @@ def _make_image_fixtures(): # Snapshot for User 1 uuid = 'aa640691-d1a7-4a67-9d3c-d35ee6b3cc74' - server_ref = 'http://localhost/v1.1/servers/' + uuid + server_ref = 'http://localhost/v2/servers/' + uuid snapshot_properties = {'instance_ref': server_ref, 'user_id': 'fake'} for status in ('queued', 'saving', 'active', 'killed', 'deleted', 'pending_delete'): @@ -311,7 +311,7 @@ class HTTPRequest(webob.Request): @classmethod def blank(cls, *args, **kwargs): - kwargs['base_url'] = 'http://localhost/v1.1' + kwargs['base_url'] = 'http://localhost/v2' use_admin_context = kwargs.pop('use_admin_context', False) out = webob.Request.blank(*args, **kwargs) out.environ['nova.context'] = FakeRequestContext('fake_user', 'fake', diff --git a/nova/tests/api/openstack/test_common.py b/nova/tests/api/openstack/test_common.py index 9cbbd1cdd..4175a2666 100644 --- a/nova/tests/api/openstack/test_common.py +++ b/nova/tests/api/openstack/test_common.py @@ -197,6 +197,12 @@ class PaginationParamsTest(test.TestCase): class MiscFunctionsTest(test.TestCase): + def test_remove_major_version_from_href(self): + fixture = 'http://www.testsite.com/v1/images' + expected = 'http://www.testsite.com/images' + actual = common.remove_version_from_href(fixture) + self.assertEqual(actual, expected) + def test_remove_version_from_href(self): fixture = 'http://www.testsite.com/v1.1/images' expected = 'http://www.testsite.com/images' @@ -289,7 +295,7 @@ class MiscFunctionsTest(test.TestCase): def test_get_version_from_href_default(self): fixture = 'http://www.testsite.com/images' - expected = '1.0' + expected = '2' actual = common.get_version_from_href(fixture) self.assertEqual(actual, expected) diff --git a/nova/tests/api/openstack/v2/contrib/test_admin_actions.py b/nova/tests/api/openstack/v2/contrib/test_admin_actions.py index 4b62c0ba7..159314ed9 100644 --- a/nova/tests/api/openstack/v2/contrib/test_admin_actions.py +++ b/nova/tests/api/openstack/v2/contrib/test_admin_actions.py @@ -14,6 +14,7 @@ import datetime import json + import webob from nova import compute @@ -67,7 +68,7 @@ class AdminActionsTest(test.TestCase): def test_admin_api_enabled(self): app = fakes.wsgi_app() for _action in self._actions: - req = webob.Request.blank('/v1.1/fake/servers/abcd/action') + req = webob.Request.blank('/v2/fake/servers/abcd/action') req.method = 'POST' req.body = json.dumps({_action: None}) req.content_type = 'application/json' @@ -78,7 +79,7 @@ class AdminActionsTest(test.TestCase): FLAGS.allow_admin_api = False app = fakes.wsgi_app() for _action in self._actions: - req = webob.Request.blank('/v1.1/fake/servers/abcd/action') + req = webob.Request.blank('/v2/fake/servers/abcd/action') req.method = 'POST' req.body = json.dumps({_action: None}) req.content_type = 'application/json' diff --git a/nova/tests/api/openstack/v2/contrib/test_createserverext.py b/nova/tests/api/openstack/v2/contrib/test_createserverext.py index 5c9e0499a..f46f09a40 100644 --- a/nova/tests/api/openstack/v2/contrib/test_createserverext.py +++ b/nova/tests/api/openstack/v2/contrib/test_createserverext.py @@ -26,7 +26,6 @@ import nova from nova import db from nova import exception from nova import flags -from nova import rpc from nova import test from nova.tests.api.openstack import fakes @@ -176,7 +175,7 @@ class CreateserverextTest(test.TestCase): return {'server': server} def _get_create_request_json(self, body_dict): - req = webob.Request.blank('/v1.1/123/os-create-server-ext') + req = webob.Request.blank('/v2/123/os-create-server-ext') req.headers['Content-Type'] = 'application/json' req.method = 'POST' req.body = json.dumps(body_dict) @@ -221,7 +220,7 @@ class CreateserverextTest(test.TestCase): return ''.join(body_parts) def _get_create_request_xml(self, body_dict): - req = webob.Request.blank('/v1.1/123/os-create-server-ext') + req = webob.Request.blank('/v2/123/os-create-server-ext') req.content_type = 'application/xml' req.accept = 'application/xml' req.method = 'POST' @@ -407,7 +406,7 @@ class CreateserverextTest(test.TestCase): def test_get_server_by_id_verify_security_groups_json(self): self.stubs.Set(nova.db, 'instance_get', return_server_by_id) self._setup_mock_network_api() - req = webob.Request.blank('/v1.1/123/os-create-server-ext/1') + req = webob.Request.blank('/v2/123/os-create-server-ext/1') req.headers['Content-Type'] = 'application/json' response = req.get_response(fakes.wsgi_app()) self.assertEquals(response.status_int, 200) @@ -419,7 +418,7 @@ class CreateserverextTest(test.TestCase): def test_get_server_by_id_verify_security_groups_xml(self): self.stubs.Set(nova.db, 'instance_get', return_server_by_id) self._setup_mock_network_api() - req = webob.Request.blank('/v1.1/123/os-create-server-ext/1') + req = webob.Request.blank('/v2/123/os-create-server-ext/1') req.headers['Accept'] = 'application/xml' response = req.get_response(fakes.wsgi_app()) self.assertEquals(response.status_int, 200) diff --git a/nova/tests/api/openstack/v2/contrib/test_extendedstatus.py b/nova/tests/api/openstack/v2/contrib/test_extendedstatus.py index 54246727c..59d44191a 100644 --- a/nova/tests/api/openstack/v2/contrib/test_extendedstatus.py +++ b/nova/tests/api/openstack/v2/contrib/test_extendedstatus.py @@ -39,7 +39,7 @@ class ExtendedStatusTest(test.TestCase): def setUp(self): super(ExtendedStatusTest, self).setUp() self.uuid = '70f6db34-de8d-4fbd-aafb-4065bdfa6114' - self.url = '/v1.1/openstack/servers/%s' % self.uuid + self.url = '/v2/openstack/servers/%s' % self.uuid fakes.stub_out_nw_api(self.stubs) self.stubs.Set(compute.api.API, 'routing_get', fake_compute_get) diff --git a/nova/tests/api/openstack/v2/contrib/test_flavors_extra_specs.py b/nova/tests/api/openstack/v2/contrib/test_flavors_extra_specs.py index 5f9be886f..838a8f073 100644 --- a/nova/tests/api/openstack/v2/contrib/test_flavors_extra_specs.py +++ b/nova/tests/api/openstack/v2/contrib/test_flavors_extra_specs.py @@ -15,13 +15,8 @@ # License for the specific language governing permissions and limitations # under the License. -import json -import os.path - -import stubout import webob -from nova.api.openstack.v2 import extensions from nova.api.openstack.v2.contrib import flavorextraspecs from nova import test from nova.tests.api.openstack import fakes @@ -65,7 +60,7 @@ class FlavorsExtraSpecsTest(test.TestCase): self.stubs.Set(nova.db, 'instance_type_extra_specs_get', return_flavor_extra_specs) - req = fakes.HTTPRequest.blank('/v1.1/123/flavors/1/os-extra_specs') + req = fakes.HTTPRequest.blank('/v2/123/flavors/1/os-extra_specs') res_dict = self.controller.index(req, 1) self.assertEqual('value1', res_dict['extra_specs']['key1']) @@ -74,7 +69,7 @@ class FlavorsExtraSpecsTest(test.TestCase): self.stubs.Set(nova.db, 'instance_type_extra_specs_get', return_empty_flavor_extra_specs) - req = fakes.HTTPRequest.blank('/v1.1/123/flavors/1/os-extra_specs') + req = fakes.HTTPRequest.blank('/v2/123/flavors/1/os-extra_specs') res_dict = self.controller.index(req, 1) self.assertEqual(0, len(res_dict['extra_specs'])) @@ -83,7 +78,7 @@ class FlavorsExtraSpecsTest(test.TestCase): self.stubs.Set(nova.db, 'instance_type_extra_specs_get', return_flavor_extra_specs) - req = fakes.HTTPRequest.blank('/v1.1/123/flavors/1/os-extra_specs' + + req = fakes.HTTPRequest.blank('/v2/123/flavors/1/os-extra_specs' + '/key5') res_dict = self.controller.show(req, 1, 'key5') @@ -93,7 +88,7 @@ class FlavorsExtraSpecsTest(test.TestCase): self.stubs.Set(nova.db, 'instance_type_extra_specs_get', return_empty_flavor_extra_specs) - req = fakes.HTTPRequest.blank('/v1.1/123/flavors/1/os-extra_specs' + + req = fakes.HTTPRequest.blank('/v2/123/flavors/1/os-extra_specs' + '/key6') self.assertRaises(webob.exc.HTTPNotFound, self.controller.show, req, 1, 'key6') @@ -102,7 +97,7 @@ class FlavorsExtraSpecsTest(test.TestCase): self.stubs.Set(nova.db, 'instance_type_extra_specs_delete', delete_flavor_extra_specs) - req = fakes.HTTPRequest.blank('/v1.1/123/flavors/1/os-extra_specs' + + req = fakes.HTTPRequest.blank('/v2/123/flavors/1/os-extra_specs' + '/key5') self.controller.delete(req, 1, 'key5') @@ -112,7 +107,7 @@ class FlavorsExtraSpecsTest(test.TestCase): return_create_flavor_extra_specs) body = {"extra_specs": {"key1": "value1"}} - req = fakes.HTTPRequest.blank('/v1.1/123/flavors/1/os-extra_specs') + req = fakes.HTTPRequest.blank('/v2/123/flavors/1/os-extra_specs') res_dict = self.controller.create(req, 1, body) self.assertEqual('value1', res_dict['extra_specs']['key1']) @@ -122,7 +117,7 @@ class FlavorsExtraSpecsTest(test.TestCase): 'instance_type_extra_specs_update_or_create', return_create_flavor_extra_specs) - req = fakes.HTTPRequest.blank('/v1.1/123/flavors/1/os-extra_specs') + req = fakes.HTTPRequest.blank('/v2/123/flavors/1/os-extra_specs') self.assertRaises(webob.exc.HTTPBadRequest, self.controller.create, req, 1, '') @@ -132,7 +127,7 @@ class FlavorsExtraSpecsTest(test.TestCase): return_create_flavor_extra_specs) body = {"key1": "value1"} - req = fakes.HTTPRequest.blank('/v1.1/123/flavors/1/os-extra_specs' + + req = fakes.HTTPRequest.blank('/v2/123/flavors/1/os-extra_specs' + '/key1') res_dict = self.controller.update(req, 1, 'key1', body) @@ -143,7 +138,7 @@ class FlavorsExtraSpecsTest(test.TestCase): 'instance_type_extra_specs_update_or_create', return_create_flavor_extra_specs) - req = fakes.HTTPRequest.blank('/v1.1/123/flavors/1/os-extra_specs' + + req = fakes.HTTPRequest.blank('/v2/123/flavors/1/os-extra_specs' + '/key1') self.assertRaises(webob.exc.HTTPBadRequest, self.controller.update, req, 1, 'key1', '') @@ -154,7 +149,7 @@ class FlavorsExtraSpecsTest(test.TestCase): return_create_flavor_extra_specs) body = {"key1": "value1", "key2": "value2"} - req = fakes.HTTPRequest.blank('/v1.1/123/flavors/1/os-extra_specs' + + req = fakes.HTTPRequest.blank('/v2/123/flavors/1/os-extra_specs' + '/key1') self.assertRaises(webob.exc.HTTPBadRequest, self.controller.update, req, 1, 'key1', body) @@ -165,6 +160,6 @@ class FlavorsExtraSpecsTest(test.TestCase): return_create_flavor_extra_specs) body = {"key1": "value1"} - req = fakes.HTTPRequest.blank('/v1.1/123/flavors/1/os-extra_specs/bad') + req = fakes.HTTPRequest.blank('/v2/123/flavors/1/os-extra_specs/bad') self.assertRaises(webob.exc.HTTPBadRequest, self.controller.update, req, 1, 'bad', body) diff --git a/nova/tests/api/openstack/v2/contrib/test_floating_ips.py b/nova/tests/api/openstack/v2/contrib/test_floating_ips.py index ded363406..a25abcefa 100644 --- a/nova/tests/api/openstack/v2/contrib/test_floating_ips.py +++ b/nova/tests/api/openstack/v2/contrib/test_floating_ips.py @@ -13,21 +13,15 @@ # License for the specific language governing permissions and limitations # under the License. -import json -import stubout - import webob from nova.api.openstack.v2.contrib import floating_ips -from nova.api.openstack.v2.contrib import floating_ips -from nova import compute from nova import context from nova import db from nova import network from nova import rpc from nova import test from nova.tests.api.openstack import fakes -from nova.tests.api.openstack.v2 import test_servers def network_api_get_floating_ip(self, context, id): @@ -155,7 +149,7 @@ class FloatingIpTest(test.TestCase): self.assertTrue('floating_ip' in view) def test_floating_ips_list(self): - req = fakes.HTTPRequest.blank('/v1.1/123/os-floating-ips') + req = fakes.HTTPRequest.blank('/v2/123/os-floating-ips') res_dict = self.controller.index(req) response = {'floating_ips': [{'instance_id': 1, @@ -169,7 +163,7 @@ class FloatingIpTest(test.TestCase): self.assertEqual(res_dict, response) def test_floating_ip_show(self): - req = fakes.HTTPRequest.blank('/v1.1/123/os-floating-ips/1') + req = fakes.HTTPRequest.blank('/v2/123/os-floating-ips/1') res_dict = self.controller.show(req, 1) self.assertEqual(res_dict['floating_ip']['id'], 1) @@ -182,7 +176,7 @@ class FloatingIpTest(test.TestCase): 'fixed_ip': {'address': '10.0.0.1', 'instance_id': 1}} self.stubs.Set(network.api.API, "get_floating_ip", get_floating_ip) - req = fakes.HTTPRequest.blank('/v1.1/123/os-floating-ips/1') + req = fakes.HTTPRequest.blank('/v2/123/os-floating-ips/1') res_dict = self.controller.show(req, 1) self.assertEqual(res_dict['floating_ip']['id'], 1) @@ -196,7 +190,7 @@ class FloatingIpTest(test.TestCase): self.stubs.Set(rpc, "call", fake_call) - req = fakes.HTTPRequest.blank('/v1.1/123/os-floating-ips') + req = fakes.HTTPRequest.blank('/v2/123/os-floating-ips') self.assertRaises(webob.exc.HTTPBadRequest, self.controller.create, req) @@ -212,7 +206,7 @@ class FloatingIpTest(test.TestCase): self.stubs.Set(network.api.API, "get_floating_ip_by_address", fake2) - req = fakes.HTTPRequest.blank('/v1.1/123/os-floating-ips') + req = fakes.HTTPRequest.blank('/v2/123/os-floating-ips') res_dict = self.controller.create(req) ip = res_dict['floating_ip'] @@ -225,7 +219,7 @@ class FloatingIpTest(test.TestCase): self.assertEqual(ip, expected) def test_floating_ip_release(self): - req = fakes.HTTPRequest.blank('/v1.1/123/os-floating-ips/1') + req = fakes.HTTPRequest.blank('/v2/123/os-floating-ips/1') self.controller.delete(req, 1) # test floating ip add/remove -> associate/disassociate @@ -233,13 +227,13 @@ class FloatingIpTest(test.TestCase): def test_floating_ip_associate(self): body = dict(addFloatingIp=dict(address=self.address)) - req = fakes.HTTPRequest.blank('/v1.1/123/servers/test_inst/action') + req = fakes.HTTPRequest.blank('/v2/123/servers/test_inst/action') self.manager._add_floating_ip(body, req, 'test_inst') def test_floating_ip_disassociate(self): body = dict(removeFloatingIp=dict(address='10.10.10.10')) - req = fakes.HTTPRequest.blank('/v1.1/123/servers/test_inst/action') + req = fakes.HTTPRequest.blank('/v2/123/servers/test_inst/action') self.manager._remove_floating_ip(body, req, 'test_inst') # these are a few bad param tests @@ -247,7 +241,7 @@ class FloatingIpTest(test.TestCase): def test_bad_address_param_in_remove_floating_ip(self): body = dict(removeFloatingIp=dict(badparam='11.0.0.1')) - req = fakes.HTTPRequest.blank('/v1.1/123/servers/test_inst/action') + req = fakes.HTTPRequest.blank('/v2/123/servers/test_inst/action') self.assertRaises(webob.exc.HTTPBadRequest, self.manager._add_floating_ip, body, req, 'test_inst') @@ -255,7 +249,7 @@ class FloatingIpTest(test.TestCase): def test_missing_dict_param_in_remove_floating_ip(self): body = dict(removeFloatingIp='11.0.0.1') - req = fakes.HTTPRequest.blank('/v1.1/123/servers/test_inst/action') + req = fakes.HTTPRequest.blank('/v2/123/servers/test_inst/action') self.assertRaises(webob.exc.HTTPBadRequest, self.manager._remove_floating_ip, body, req, 'test_inst') @@ -263,7 +257,7 @@ class FloatingIpTest(test.TestCase): def test_missing_dict_param_in_add_floating_ip(self): body = dict(addFloatingIp='11.0.0.1') - req = fakes.HTTPRequest.blank('/v1.1/123/servers/test_inst/action') + req = fakes.HTTPRequest.blank('/v2/123/servers/test_inst/action') self.assertRaises(webob.exc.HTTPBadRequest, self.manager._add_floating_ip, body, req, 'test_inst') diff --git a/nova/tests/api/openstack/v2/contrib/test_keypairs.py b/nova/tests/api/openstack/v2/contrib/test_keypairs.py index b2f595e5e..ae4013ca8 100644 --- a/nova/tests/api/openstack/v2/contrib/test_keypairs.py +++ b/nova/tests/api/openstack/v2/contrib/test_keypairs.py @@ -59,7 +59,7 @@ class KeypairsTest(test.TestCase): self.context = context.get_admin_context() def test_keypair_list(self): - req = webob.Request.blank('/v1.1/123/os-keypairs') + req = webob.Request.blank('/v2/123/os-keypairs') res = req.get_response(fakes.wsgi_app()) self.assertEqual(res.status_int, 200) res_dict = json.loads(res.body) @@ -68,7 +68,7 @@ class KeypairsTest(test.TestCase): def test_keypair_create(self): body = {'keypair': {'name': 'create_test'}} - req = webob.Request.blank('/v1.1/123/os-keypairs') + req = webob.Request.blank('/v2/123/os-keypairs') req.method = 'POST' req.body = json.dumps(body) req.headers['Content-Type'] = 'application/json' @@ -94,7 +94,7 @@ class KeypairsTest(test.TestCase): }, } - req = webob.Request.blank('/v1.1/123/os-keypairs') + req = webob.Request.blank('/v2/123/os-keypairs') req.method = 'POST' req.body = json.dumps(body) req.headers['Content-Type'] = 'application/json' @@ -106,7 +106,7 @@ class KeypairsTest(test.TestCase): self.assertFalse('private_key' in res_dict['keypair']) def test_keypair_delete(self): - req = webob.Request.blank('/v1.1/123/os-keypairs/FAKE') + req = webob.Request.blank('/v2/123/os-keypairs/FAKE') req.method = 'DELETE' req.headers['Content-Type'] = 'application/json' res = req.get_response(fakes.wsgi_app()) diff --git a/nova/tests/api/openstack/v2/contrib/test_multinic_xs.py b/nova/tests/api/openstack/v2/contrib/test_multinic_xs.py index 68f99d363..3ac5a6be7 100644 --- a/nova/tests/api/openstack/v2/contrib/test_multinic_xs.py +++ b/nova/tests/api/openstack/v2/contrib/test_multinic_xs.py @@ -15,7 +15,6 @@ import json -import stubout import webob from nova import compute @@ -62,7 +61,7 @@ class FixedIpTest(test.TestCase): last_add_fixed_ip = (None, None) body = dict(addFixedIp=dict(networkId='test_net')) - req = webob.Request.blank('/v1.1/123/servers/%s/action' % UUID) + req = webob.Request.blank('/v2/123/servers/%s/action' % UUID) req.method = 'POST' req.body = json.dumps(body) req.headers['content-type'] = 'application/json' @@ -76,7 +75,7 @@ class FixedIpTest(test.TestCase): last_add_fixed_ip = (None, None) body = dict(addFixedIp=dict()) - req = webob.Request.blank('/v1.1/123/servers/%s/action' % UUID) + req = webob.Request.blank('/v2/123/servers/%s/action' % UUID) req.method = 'POST' req.body = json.dumps(body) req.headers['content-type'] = 'application/json' @@ -90,7 +89,7 @@ class FixedIpTest(test.TestCase): last_remove_fixed_ip = (None, None) body = dict(removeFixedIp=dict(address='10.10.10.1')) - req = webob.Request.blank('/v1.1/123/servers/%s/action' % UUID) + req = webob.Request.blank('/v2/123/servers/%s/action' % UUID) req.method = 'POST' req.body = json.dumps(body) req.headers['content-type'] = 'application/json' @@ -104,7 +103,7 @@ class FixedIpTest(test.TestCase): last_remove_fixed_ip = (None, None) body = dict(removeFixedIp=dict()) - req = webob.Request.blank('/v1.1/123/servers/%s/action' % UUID) + req = webob.Request.blank('/v2/123/servers/%s/action' % UUID) req.method = 'POST' req.body = json.dumps(body) req.headers['content-type'] = 'application/json' diff --git a/nova/tests/api/openstack/v2/contrib/test_quotas.py b/nova/tests/api/openstack/v2/contrib/test_quotas.py index 15fb20f94..fee99062a 100644 --- a/nova/tests/api/openstack/v2/contrib/test_quotas.py +++ b/nova/tests/api/openstack/v2/contrib/test_quotas.py @@ -15,7 +15,6 @@ # License for the specific language governing permissions and limitations # under the License. -import json import webob from nova.api.openstack.v2.contrib.quotas import QuotaSetsController @@ -77,7 +76,7 @@ class QuotaSetsTest(test.TestCase): self.assertEqual(qs['injected_file_content_bytes'], 10240) def test_quotas_defaults(self): - uri = '/v1.1/fake_tenant/os-quota-sets/fake_tenant/defaults' + uri = '/v2/fake_tenant/os-quota-sets/fake_tenant/defaults' req = fakes.HTTPRequest.blank(uri) res_dict = self.controller.defaults(req, 'fake_tenant') @@ -97,14 +96,14 @@ class QuotaSetsTest(test.TestCase): self.assertEqual(res_dict, expected) def test_quotas_show_as_admin(self): - req = fakes.HTTPRequest.blank('/v1.1/1234/os-quota-sets/1234', + req = fakes.HTTPRequest.blank('/v2/1234/os-quota-sets/1234', use_admin_context=True) res_dict = self.controller.show(req, 1234) self.assertEqual(res_dict, quota_set('1234')) def test_quotas_show_as_unauthorized_user(self): - req = fakes.HTTPRequest.blank('/v1.1/1234/os-quota-sets/1234') + req = fakes.HTTPRequest.blank('/v2/1234/os-quota-sets/1234') self.assertRaises(webob.exc.HTTPForbidden, self.controller.show, req, 1234) @@ -115,7 +114,7 @@ class QuotaSetsTest(test.TestCase): 'metadata_items': 128, 'injected_files': 5, 'injected_file_content_bytes': 10240}} - req = fakes.HTTPRequest.blank('/v1.1/1234/os-quota-sets/update_me', + req = fakes.HTTPRequest.blank('/v2/1234/os-quota-sets/update_me', use_admin_context=True) res_dict = self.controller.update(req, 'update_me', body) @@ -128,6 +127,6 @@ class QuotaSetsTest(test.TestCase): 'metadata_items': 128, 'injected_files': 5, 'injected_file_content_bytes': 10240}} - req = fakes.HTTPRequest.blank('/v1.1/1234/os-quota-sets/update_me') + req = fakes.HTTPRequest.blank('/v2/1234/os-quota-sets/update_me') self.assertRaises(webob.exc.HTTPForbidden, self.controller.update, req, 'update_me', body) diff --git a/nova/tests/api/openstack/v2/contrib/test_rescue.py b/nova/tests/api/openstack/v2/contrib/test_rescue.py index 9058d101e..ade5939c1 100644 --- a/nova/tests/api/openstack/v2/contrib/test_rescue.py +++ b/nova/tests/api/openstack/v2/contrib/test_rescue.py @@ -46,7 +46,7 @@ class RescueTest(test.TestCase): def test_rescue_with_preset_password(self): body = {"rescue": {"adminPass": "AABBCC112233"}} - req = webob.Request.blank('/v1.1/123/servers/test_inst/action') + req = webob.Request.blank('/v2/123/servers/test_inst/action') req.method = "POST" req.body = json.dumps(body) req.headers["content-type"] = "application/json" @@ -58,7 +58,7 @@ class RescueTest(test.TestCase): def test_rescue_generates_password(self): body = dict(rescue=None) - req = webob.Request.blank('/v1.1/123/servers/test_inst/action') + req = webob.Request.blank('/v2/123/servers/test_inst/action') req.method = "POST" req.body = json.dumps(body) req.headers["content-type"] = "application/json" @@ -70,7 +70,7 @@ class RescueTest(test.TestCase): def test_unrescue(self): body = dict(unrescue=None) - req = webob.Request.blank('/v1.1/123/servers/test_inst/action') + req = webob.Request.blank('/v2/123/servers/test_inst/action') req.method = "POST" req.body = json.dumps(body) req.headers["content-type"] = "application/json" diff --git a/nova/tests/api/openstack/v2/contrib/test_security_groups.py b/nova/tests/api/openstack/v2/contrib/test_security_groups.py index fd4e0841d..74a764cdb 100644 --- a/nova/tests/api/openstack/v2/contrib/test_security_groups.py +++ b/nova/tests/api/openstack/v2/contrib/test_security_groups.py @@ -14,9 +14,7 @@ # License for the specific language governing permissions and limitations # under the License. -import json import unittest -from xml.dom import minidom import mox import webob @@ -122,7 +120,7 @@ class TestSecurityGroups(test.TestCase): def test_create_security_group(self): sg = security_group_template() - req = fakes.HTTPRequest.blank('/v1.1/123/os-security-groups') + req = fakes.HTTPRequest.blank('/v2/123/os-security-groups') res_dict = self.controller.create(req, {'security_group': sg}) self.assertEqual(res_dict['security_group']['name'], 'test') self.assertEqual(res_dict['security_group']['description'], @@ -132,7 +130,7 @@ class TestSecurityGroups(test.TestCase): sg = security_group_template() del sg['name'] - req = fakes.HTTPRequest.blank('/v1.1/123/os-security-groups') + req = fakes.HTTPRequest.blank('/v2/123/os-security-groups') self.assertRaises(webob.exc.HTTPUnprocessableEntity, self.controller.create, req, sg) @@ -140,35 +138,35 @@ class TestSecurityGroups(test.TestCase): sg = security_group_template() del sg['description'] - req = fakes.HTTPRequest.blank('/v1.1/123/os-security-groups') + req = fakes.HTTPRequest.blank('/v2/123/os-security-groups') self.assertRaises(webob.exc.HTTPBadRequest, self.controller.create, req, {'security_group': sg}) def test_create_security_group_with_blank_name(self): sg = security_group_template(name='') - req = fakes.HTTPRequest.blank('/v1.1/123/os-security-groups') + req = fakes.HTTPRequest.blank('/v2/123/os-security-groups') self.assertRaises(webob.exc.HTTPBadRequest, self.controller.create, req, {'security_group': sg}) def test_create_security_group_with_whitespace_name(self): sg = security_group_template(name=' ') - req = fakes.HTTPRequest.blank('/v1.1/123/os-security-groups') + req = fakes.HTTPRequest.blank('/v2/123/os-security-groups') self.assertRaises(webob.exc.HTTPBadRequest, self.controller.create, req, {'security_group': sg}) def test_create_security_group_with_blank_description(self): sg = security_group_template(description='') - req = fakes.HTTPRequest.blank('/v1.1/123/os-security-groups') + req = fakes.HTTPRequest.blank('/v2/123/os-security-groups') self.assertRaises(webob.exc.HTTPBadRequest, self.controller.create, req, {'security_group': sg}) def test_create_security_group_with_whitespace_description(self): sg = security_group_template(description=' ') - req = fakes.HTTPRequest.blank('/v1.1/123/os-security-groups') + req = fakes.HTTPRequest.blank('/v2/123/os-security-groups') self.assertRaises(webob.exc.HTTPBadRequest, self.controller.create, req, {'security_group': sg}) @@ -176,50 +174,50 @@ class TestSecurityGroups(test.TestCase): sg = security_group_template() # FIXME: Stub out _get instead of creating twice - req = fakes.HTTPRequest.blank('/v1.1/123/os-security-groups') + req = fakes.HTTPRequest.blank('/v2/123/os-security-groups') self.controller.create(req, {'security_group': sg}) - req = fakes.HTTPRequest.blank('/v1.1/123/os-security-groups') + req = fakes.HTTPRequest.blank('/v2/123/os-security-groups') self.assertRaises(webob.exc.HTTPBadRequest, self.controller.create, req, {'security_group': sg}) def test_create_security_group_with_no_body(self): - req = fakes.HTTPRequest.blank('/v1.1/123/os-security-groups') + req = fakes.HTTPRequest.blank('/v2/123/os-security-groups') self.assertRaises(webob.exc.HTTPUnprocessableEntity, self.controller.create, req, None) def test_create_security_group_with_no_security_group(self): body = {'no-securityGroup': None} - req = fakes.HTTPRequest.blank('/v1.1/123/os-security-groups') + req = fakes.HTTPRequest.blank('/v2/123/os-security-groups') self.assertRaises(webob.exc.HTTPUnprocessableEntity, self.controller.create, req, body) def test_create_security_group_above_255_characters_name(self): sg = security_group_template(name='1234567890' * 26) - req = fakes.HTTPRequest.blank('/v1.1/123/os-security-groups') + req = fakes.HTTPRequest.blank('/v2/123/os-security-groups') self.assertRaises(webob.exc.HTTPBadRequest, self.controller.create, req, {'security_group': sg}) def test_create_security_group_above_255_characters_description(self): sg = security_group_template(description='1234567890' * 26) - req = fakes.HTTPRequest.blank('/v1.1/123/os-security-groups') + req = fakes.HTTPRequest.blank('/v2/123/os-security-groups') self.assertRaises(webob.exc.HTTPBadRequest, self.controller.create, req, {'security_group': sg}) def test_create_security_group_non_string_name(self): sg = security_group_template(name=12) - req = fakes.HTTPRequest.blank('/v1.1/123/os-security-groups') + req = fakes.HTTPRequest.blank('/v2/123/os-security-groups') self.assertRaises(webob.exc.HTTPBadRequest, self.controller.create, req, {'security_group': sg}) def test_create_security_group_non_string_description(self): sg = security_group_template(description=12) - req = fakes.HTTPRequest.blank('/v1.1/123/os-security-groups') + req = fakes.HTTPRequest.blank('/v2/123/os-security-groups') self.assertRaises(webob.exc.HTTPBadRequest, self.controller.create, req, {'security_group': sg}) @@ -239,7 +237,7 @@ class TestSecurityGroups(test.TestCase): self.stubs.Set(nova.db, 'security_group_get_by_project', return_security_groups) - req = fakes.HTTPRequest.blank('/v1.1/123/os-security-groups') + req = fakes.HTTPRequest.blank('/v2/123/os-security-groups') res_dict = self.controller.index(req) self.assertEquals(res_dict, expected) @@ -254,19 +252,19 @@ class TestSecurityGroups(test.TestCase): self.stubs.Set(nova.db, 'security_group_get', return_security_group) - req = fakes.HTTPRequest.blank('/v1.1/123/os-security-groups/2') + req = fakes.HTTPRequest.blank('/v2/123/os-security-groups/2') res_dict = self.controller.show(req, '2') expected = {'security_group': sg} self.assertEquals(res_dict, expected) def test_get_security_group_by_invalid_id(self): - req = fakes.HTTPRequest.blank('/v1.1/123/os-security-groups/invalid') + req = fakes.HTTPRequest.blank('/v2/123/os-security-groups/invalid') self.assertRaises(webob.exc.HTTPBadRequest, self.controller.delete, req, 'invalid') def test_get_security_group_by_non_existing_id(self): - req = fakes.HTTPRequest.blank('/v1.1/123/os-security-groups/111111111') + req = fakes.HTTPRequest.blank('/v2/123/os-security-groups/111111111') self.assertRaises(webob.exc.HTTPNotFound, self.controller.delete, req, '111111111') @@ -287,32 +285,32 @@ class TestSecurityGroups(test.TestCase): self.stubs.Set(nova.db, 'security_group_get', return_security_group) - req = fakes.HTTPRequest.blank('/v1.1/123/os-security-groups/1') + req = fakes.HTTPRequest.blank('/v2/123/os-security-groups/1') self.controller.delete(req, '1') self.assertTrue(self.called) def test_delete_security_group_by_invalid_id(self): - req = fakes.HTTPRequest.blank('/v1.1/123/os-security-groups/invalid') + req = fakes.HTTPRequest.blank('/v2/123/os-security-groups/invalid') self.assertRaises(webob.exc.HTTPBadRequest, self.controller.delete, req, 'invalid') def test_delete_security_group_by_non_existing_id(self): - req = fakes.HTTPRequest.blank('/v1.1/123/os-security-groups/11111111') + req = fakes.HTTPRequest.blank('/v2/123/os-security-groups/11111111') self.assertRaises(webob.exc.HTTPNotFound, self.controller.delete, req, '11111111') def test_associate_by_non_existing_security_group_name(self): body = dict(addSecurityGroup=dict(name='non-existing')) - req = fakes.HTTPRequest.blank('/v1.1/123/servers/1/action') + req = fakes.HTTPRequest.blank('/v2/123/servers/1/action') self.assertRaises(webob.exc.HTTPNotFound, self.manager._addSecurityGroup, body, req, '1') def test_associate_by_invalid_server_id(self): body = dict(addSecurityGroup=dict(name='test')) - req = fakes.HTTPRequest.blank('/v1.1/123/servers/invalid/action') + req = fakes.HTTPRequest.blank('/v2/123/servers/invalid/action') self.assertRaises(webob.exc.HTTPNotFound, self.manager._addSecurityGroup, body, req, 'invalid') @@ -320,7 +318,7 @@ class TestSecurityGroups(test.TestCase): self.stubs.Set(nova.db, 'instance_get', return_server) body = dict(addSecurityGroup=None) - req = fakes.HTTPRequest.blank('/v1.1/123/servers/1/action') + req = fakes.HTTPRequest.blank('/v2/123/servers/1/action') self.assertRaises(webob.exc.HTTPBadRequest, self.manager._addSecurityGroup, body, req, '1') @@ -328,7 +326,7 @@ class TestSecurityGroups(test.TestCase): self.stubs.Set(nova.db, 'instance_get', return_server) body = dict(addSecurityGroup=dict()) - req = fakes.HTTPRequest.blank('/v1.1/123/servers/1/action') + req = fakes.HTTPRequest.blank('/v2/123/servers/1/action') self.assertRaises(webob.exc.HTTPBadRequest, self.manager._addSecurityGroup, body, req, '1') @@ -336,7 +334,7 @@ class TestSecurityGroups(test.TestCase): self.stubs.Set(nova.db, 'instance_get', return_server) body = dict(addSecurityGroup=dict(name=" ")) - req = fakes.HTTPRequest.blank('/v1.1/123/servers/1/action') + req = fakes.HTTPRequest.blank('/v2/123/servers/1/action') self.assertRaises(webob.exc.HTTPBadRequest, self.manager._addSecurityGroup, body, req, '1') @@ -346,7 +344,7 @@ class TestSecurityGroups(test.TestCase): return_server_nonexistent) body = dict(addSecurityGroup=dict(name="test")) - req = fakes.HTTPRequest.blank('/v1.1/123/servers/1/action') + req = fakes.HTTPRequest.blank('/v2/123/servers/1/action') self.assertRaises(webob.exc.HTTPNotFound, self.manager._addSecurityGroup, body, req, '1') @@ -358,7 +356,7 @@ class TestSecurityGroups(test.TestCase): return_security_group_without_instances) body = dict(addSecurityGroup=dict(name="test")) - req = fakes.HTTPRequest.blank('/v1.1/123/servers/1/action') + req = fakes.HTTPRequest.blank('/v2/123/servers/1/action') self.assertRaises(webob.exc.HTTPBadRequest, self.manager._addSecurityGroup, body, req, '1') @@ -370,7 +368,7 @@ class TestSecurityGroups(test.TestCase): return_security_group_by_name) body = dict(addSecurityGroup=dict(name="test")) - req = fakes.HTTPRequest.blank('/v1.1/123/servers/1/action') + req = fakes.HTTPRequest.blank('/v2/123/servers/1/action') self.assertRaises(webob.exc.HTTPBadRequest, self.manager._addSecurityGroup, body, req, '1') @@ -388,13 +386,13 @@ class TestSecurityGroups(test.TestCase): body = dict(addSecurityGroup=dict(name="test")) - req = fakes.HTTPRequest.blank('/v1.1/123/servers/1/action') + req = fakes.HTTPRequest.blank('/v2/123/servers/1/action') self.manager._addSecurityGroup(body, req, '1') def test_disassociate_by_non_existing_security_group_name(self): body = dict(removeSecurityGroup=dict(name='non-existing')) - req = fakes.HTTPRequest.blank('/v1.1/123/servers/1/action') + req = fakes.HTTPRequest.blank('/v2/123/servers/1/action') self.assertRaises(webob.exc.HTTPNotFound, self.manager._removeSecurityGroup, body, req, '1') @@ -403,7 +401,7 @@ class TestSecurityGroups(test.TestCase): return_security_group_by_name) body = dict(removeSecurityGroup=dict(name='test')) - req = fakes.HTTPRequest.blank('/v1.1/123/servers/invalid/action') + req = fakes.HTTPRequest.blank('/v2/123/servers/invalid/action') self.assertRaises(webob.exc.HTTPNotFound, self.manager._removeSecurityGroup, body, req, 'invalid') @@ -412,7 +410,7 @@ class TestSecurityGroups(test.TestCase): self.stubs.Set(nova.db, 'instance_get', return_server) body = dict(removeSecurityGroup=None) - req = fakes.HTTPRequest.blank('/v1.1/123/servers/1/action') + req = fakes.HTTPRequest.blank('/v2/123/servers/1/action') self.assertRaises(webob.exc.HTTPBadRequest, self.manager._removeSecurityGroup, body, req, '1') @@ -420,7 +418,7 @@ class TestSecurityGroups(test.TestCase): self.stubs.Set(nova.db, 'instance_get', return_server) body = dict(removeSecurityGroup=dict()) - req = fakes.HTTPRequest.blank('/v1.1/123/servers/1/action') + req = fakes.HTTPRequest.blank('/v2/123/servers/1/action') self.assertRaises(webob.exc.HTTPBadRequest, self.manager._removeSecurityGroup, body, req, '1') @@ -428,7 +426,7 @@ class TestSecurityGroups(test.TestCase): self.stubs.Set(nova.db, 'instance_get', return_server) body = dict(removeSecurityGroup=dict(name=" ")) - req = fakes.HTTPRequest.blank('/v1.1/123/servers/1/action') + req = fakes.HTTPRequest.blank('/v2/123/servers/1/action') self.assertRaises(webob.exc.HTTPBadRequest, self.manager._removeSecurityGroup, body, req, '1') @@ -438,7 +436,7 @@ class TestSecurityGroups(test.TestCase): return_security_group_by_name) body = dict(removeSecurityGroup=dict(name="test")) - req = fakes.HTTPRequest.blank('/v1.1/123/servers/1/action') + req = fakes.HTTPRequest.blank('/v2/123/servers/1/action') self.assertRaises(webob.exc.HTTPNotFound, self.manager._removeSecurityGroup, body, req, '1') @@ -450,7 +448,7 @@ class TestSecurityGroups(test.TestCase): return_security_group_by_name) body = dict(removeSecurityGroup=dict(name="test")) - req = fakes.HTTPRequest.blank('/v1.1/123/servers/1/action') + req = fakes.HTTPRequest.blank('/v2/123/servers/1/action') self.assertRaises(webob.exc.HTTPBadRequest, self.manager._removeSecurityGroup, body, req, '1') @@ -462,7 +460,7 @@ class TestSecurityGroups(test.TestCase): return_security_group_without_instances) body = dict(removeSecurityGroup=dict(name="test")) - req = fakes.HTTPRequest.blank('/v1.1/123/servers/1/action') + req = fakes.HTTPRequest.blank('/v2/123/servers/1/action') self.assertRaises(webob.exc.HTTPBadRequest, self.manager._removeSecurityGroup, body, req, '1') @@ -480,7 +478,7 @@ class TestSecurityGroups(test.TestCase): body = dict(removeSecurityGroup=dict(name="test")) - req = fakes.HTTPRequest.blank('/v1.1/123/servers/1/action') + req = fakes.HTTPRequest.blank('/v2/123/servers/1/action') self.manager._removeSecurityGroup(body, req, '1') @@ -488,8 +486,6 @@ class TestSecurityGroupRules(test.TestCase): def setUp(self): super(TestSecurityGroupRules, self).setUp() - controller = security_groups.SecurityGroupController() - sg1 = security_group_template(id=1) sg2 = security_group_template(id=2, name='authorize_revoke', @@ -517,7 +513,7 @@ class TestSecurityGroupRules(test.TestCase): def test_create_by_cidr(self): rule = security_group_rule_template(cidr='10.2.3.124/24') - req = fakes.HTTPRequest.blank('/v1.1/123/os-security-group-rules') + req = fakes.HTTPRequest.blank('/v2/123/os-security-group-rules') res_dict = self.controller.create(req, {'security_group_rule': rule}) security_group_rule = res_dict['security_group_rule'] @@ -529,7 +525,7 @@ class TestSecurityGroupRules(test.TestCase): def test_create_by_group_id(self): rule = security_group_rule_template(group_id='1') - req = fakes.HTTPRequest.blank('/v1.1/123/os-security-group-rules') + req = fakes.HTTPRequest.blank('/v2/123/os-security-group-rules') res_dict = self.controller.create(req, {'security_group_rule': rule}) security_group_rule = res_dict['security_group_rule'] @@ -550,7 +546,7 @@ class TestSecurityGroupRules(test.TestCase): to_port=22, parent_group_id=2, cidr="10.2.3.124/2433") - req = fakes.HTTPRequest.blank('/v1.1/123/os-security-group-rules') + req = fakes.HTTPRequest.blank('/v2/123/os-security-group-rules') self.assertRaises(webob.exc.HTTPBadRequest, self.controller.create, req, {'security_group_rule': rule}) @@ -562,7 +558,7 @@ class TestSecurityGroupRules(test.TestCase): parent_group_id=2, cidr="10.2.3.124/24") - req = fakes.HTTPRequest.blank('/v1.1/123/os-security-group-rules') + req = fakes.HTTPRequest.blank('/v2/123/os-security-group-rules') self.assertRaises(webob.exc.HTTPBadRequest, self.controller.create, req, {'security_group_rule': rule}) @@ -573,7 +569,7 @@ class TestSecurityGroupRules(test.TestCase): to_port=256, parent_group_id=2, cidr="10.2.3.124/24") - req = fakes.HTTPRequest.blank('/v1.1/123/os-security-group-rules') + req = fakes.HTTPRequest.blank('/v2/123/os-security-group-rules') self.assertRaises(webob.exc.HTTPBadRequest, self.controller.create, req, {'security_group_rule': rule}) @@ -582,25 +578,25 @@ class TestSecurityGroupRules(test.TestCase): self.parent_security_group['rules'] = [security_group_rule_db(rule)] - req = fakes.HTTPRequest.blank('/v1.1/123/os-security-group-rules') + req = fakes.HTTPRequest.blank('/v2/123/os-security-group-rules') self.assertRaises(webob.exc.HTTPBadRequest, self.controller.create, req, {'security_group_rule': rule}) def test_create_with_no_body(self): - req = fakes.HTTPRequest.blank('/v1.1/123/os-security-group-rules') + req = fakes.HTTPRequest.blank('/v2/123/os-security-group-rules') self.assertRaises(webob.exc.HTTPUnprocessableEntity, self.controller.create, req, None) def test_create_with_no_security_group_rule_in_body(self): rules = {'test': 'test'} - req = fakes.HTTPRequest.blank('/v1.1/123/os-security-group-rules') + req = fakes.HTTPRequest.blank('/v2/123/os-security-group-rules') self.assertRaises(webob.exc.HTTPUnprocessableEntity, self.controller.create, req, rules) def test_create_with_invalid_parent_group_id(self): rule = security_group_rule_template(parent_group_id='invalid') - req = fakes.HTTPRequest.blank('/v1.1/123/os-security-group-rules') + req = fakes.HTTPRequest.blank('/v2/123/os-security-group-rules') self.assertRaises(webob.exc.HTTPBadRequest, self.controller.create, req, {'security_group_rule': rule}) @@ -608,7 +604,7 @@ class TestSecurityGroupRules(test.TestCase): rule = security_group_rule_template(group_id='invalid', parent_group_id='1111111111111') - req = fakes.HTTPRequest.blank('/v1.1/123/os-security-group-rules') + req = fakes.HTTPRequest.blank('/v2/123/os-security-group-rules') self.assertRaises(webob.exc.HTTPNotFound, self.controller.create, req, {'security_group_rule': rule}) @@ -616,7 +612,7 @@ class TestSecurityGroupRules(test.TestCase): rule = security_group_rule_template(ip_protocol='invalid-protocol', cidr='10.2.2.0/24') - req = fakes.HTTPRequest.blank('/v1.1/123/os-security-group-rules') + req = fakes.HTTPRequest.blank('/v2/123/os-security-group-rules') self.assertRaises(webob.exc.HTTPBadRequest, self.controller.create, req, {'security_group_rule': rule}) @@ -624,7 +620,7 @@ class TestSecurityGroupRules(test.TestCase): rule = security_group_rule_template(cidr='10.2.2.0/24') del rule['ip_protocol'] - req = fakes.HTTPRequest.blank('/v1.1/123/os-security-group-rules') + req = fakes.HTTPRequest.blank('/v2/123/os-security-group-rules') self.assertRaises(webob.exc.HTTPBadRequest, self.controller.create, req, {'security_group_rule': rule}) @@ -632,7 +628,7 @@ class TestSecurityGroupRules(test.TestCase): rule = security_group_rule_template(from_port='666666', cidr='10.2.2.0/24') - req = fakes.HTTPRequest.blank('/v1.1/123/os-security-group-rules') + req = fakes.HTTPRequest.blank('/v2/123/os-security-group-rules') self.assertRaises(webob.exc.HTTPBadRequest, self.controller.create, req, {'security_group_rule': rule}) @@ -640,7 +636,7 @@ class TestSecurityGroupRules(test.TestCase): rule = security_group_rule_template(to_port='666666', cidr='10.2.2.0/24') - req = fakes.HTTPRequest.blank('/v1.1/123/os-security-group-rules') + req = fakes.HTTPRequest.blank('/v2/123/os-security-group-rules') self.assertRaises(webob.exc.HTTPBadRequest, self.controller.create, req, {'security_group_rule': rule}) @@ -648,7 +644,7 @@ class TestSecurityGroupRules(test.TestCase): rule = security_group_rule_template(from_port='invalid', cidr='10.2.2.0/24') - req = fakes.HTTPRequest.blank('/v1.1/123/os-security-group-rules') + req = fakes.HTTPRequest.blank('/v2/123/os-security-group-rules') self.assertRaises(webob.exc.HTTPBadRequest, self.controller.create, req, {'security_group_rule': rule}) @@ -656,7 +652,7 @@ class TestSecurityGroupRules(test.TestCase): rule = security_group_rule_template(to_port='invalid', cidr='10.2.2.0/24') - req = fakes.HTTPRequest.blank('/v1.1/123/os-security-group-rules') + req = fakes.HTTPRequest.blank('/v2/123/os-security-group-rules') self.assertRaises(webob.exc.HTTPBadRequest, self.controller.create, req, {'security_group_rule': rule}) @@ -664,7 +660,7 @@ class TestSecurityGroupRules(test.TestCase): rule = security_group_rule_template(cidr='10.2.2.0/24') del rule['from_port'] - req = fakes.HTTPRequest.blank('/v1.1/123/os-security-group-rules') + req = fakes.HTTPRequest.blank('/v2/123/os-security-group-rules') self.assertRaises(webob.exc.HTTPBadRequest, self.controller.create, req, {'security_group_rule': rule}) @@ -672,21 +668,21 @@ class TestSecurityGroupRules(test.TestCase): rule = security_group_rule_template(cidr='10.2.2.0/24') del rule['to_port'] - req = fakes.HTTPRequest.blank('/v1.1/123/os-security-group-rules') + req = fakes.HTTPRequest.blank('/v2/123/os-security-group-rules') self.assertRaises(webob.exc.HTTPBadRequest, self.controller.create, req, {'security_group_rule': rule}) def test_create_with_invalid_cidr(self): rule = security_group_rule_template(cidr='10.2.2222.0/24') - req = fakes.HTTPRequest.blank('/v1.1/123/os-security-group-rules') + req = fakes.HTTPRequest.blank('/v2/123/os-security-group-rules') self.assertRaises(webob.exc.HTTPBadRequest, self.controller.create, req, {'security_group_rule': rule}) def test_create_with_no_cidr_group(self): rule = security_group_rule_template() - req = fakes.HTTPRequest.blank('/v1.1/123/os-security-group-rules') + req = fakes.HTTPRequest.blank('/v2/123/os-security-group-rules') res_dict = self.controller.create(req, {'security_group_rule': rule}) security_group_rule = res_dict['security_group_rule'] @@ -699,28 +695,28 @@ class TestSecurityGroupRules(test.TestCase): def test_create_with_invalid_group_id(self): rule = security_group_rule_template(group_id='invalid') - req = fakes.HTTPRequest.blank('/v1.1/123/os-security-group-rules') + req = fakes.HTTPRequest.blank('/v2/123/os-security-group-rules') self.assertRaises(webob.exc.HTTPBadRequest, self.controller.create, req, {'security_group_rule': rule}) def test_create_with_empty_group_id(self): rule = security_group_rule_template(group_id='') - req = fakes.HTTPRequest.blank('/v1.1/123/os-security-group-rules') + req = fakes.HTTPRequest.blank('/v2/123/os-security-group-rules') self.assertRaises(webob.exc.HTTPBadRequest, self.controller.create, req, {'security_group_rule': rule}) def test_create_with_nonexist_group_id(self): rule = security_group_rule_template(group_id='222222') - req = fakes.HTTPRequest.blank('/v1.1/123/os-security-group-rules') + req = fakes.HTTPRequest.blank('/v2/123/os-security-group-rules') self.assertRaises(webob.exc.HTTPBadRequest, self.controller.create, req, {'security_group_rule': rule}) def test_create_rule_with_same_group_parent_id(self): rule = security_group_rule_template(group_id=2) - req = fakes.HTTPRequest.blank('/v1.1/123/os-security-group-rules') + req = fakes.HTTPRequest.blank('/v2/123/os-security-group-rules') self.assertRaises(webob.exc.HTTPBadRequest, self.controller.create, req, {'security_group_rule': rule}) @@ -738,17 +734,17 @@ class TestSecurityGroupRules(test.TestCase): self.stubs.Set(nova.db, 'security_group_rule_destroy', security_group_rule_destroy) - req = fakes.HTTPRequest.blank('/v1.1/123/os-security-group-rules/10') + req = fakes.HTTPRequest.blank('/v2/123/os-security-group-rules/10') self.controller.delete(req, '10') def test_delete_invalid_rule_id(self): - req = fakes.HTTPRequest.blank('/v1.1/123/os-security-group-rules' + + req = fakes.HTTPRequest.blank('/v2/123/os-security-group-rules' + '/invalid') self.assertRaises(webob.exc.HTTPBadRequest, self.controller.delete, req, 'invalid') def test_delete_non_existing_rule_id(self): - req = fakes.HTTPRequest.blank('/v1.1/123/os-security-group-rules' + + req = fakes.HTTPRequest.blank('/v2/123/os-security-group-rules' + '/22222222222222') self.assertRaises(webob.exc.HTTPNotFound, self.controller.delete, req, '22222222222222') diff --git a/nova/tests/api/openstack/v2/contrib/test_simple_tenant_usage.py b/nova/tests/api/openstack/v2/contrib/test_simple_tenant_usage.py index 56e7be0d2..56d8de7d2 100644 --- a/nova/tests/api/openstack/v2/contrib/test_simple_tenant_usage.py +++ b/nova/tests/api/openstack/v2/contrib/test_simple_tenant_usage.py @@ -87,7 +87,7 @@ class SimpleTenantUsageTest(test.TestCase): def test_verify_index(self): req = webob.Request.blank( - '/v1.1/123/os-simple-tenant-usage?start=%s&end=%s' % + '/v2/123/os-simple-tenant-usage?start=%s&end=%s' % (START.isoformat(), STOP.isoformat())) req.method = "GET" req.headers["content-type"] = "application/json" @@ -113,7 +113,7 @@ class SimpleTenantUsageTest(test.TestCase): def test_verify_detailed_index(self): req = webob.Request.blank( - '/v1.1/123/os-simple-tenant-usage?' + '/v2/123/os-simple-tenant-usage?' 'detailed=1&start=%s&end=%s' % (START.isoformat(), STOP.isoformat())) req.method = "GET" @@ -131,7 +131,7 @@ class SimpleTenantUsageTest(test.TestCase): def test_verify_index_fails_for_nonadmin(self): req = webob.Request.blank( - '/v1.1/123/os-simple-tenant-usage?' + '/v2/123/os-simple-tenant-usage?' 'detailed=1&start=%s&end=%s' % (START.isoformat(), STOP.isoformat())) req.method = "GET" @@ -142,7 +142,7 @@ class SimpleTenantUsageTest(test.TestCase): def test_verify_show(self): req = webob.Request.blank( - '/v1.1/faketenant_0/os-simple-tenant-usage/' + '/v2/faketenant_0/os-simple-tenant-usage/' 'faketenant_0?start=%s&end=%s' % (START.isoformat(), STOP.isoformat())) req.method = "GET" @@ -161,7 +161,7 @@ class SimpleTenantUsageTest(test.TestCase): def test_verify_show_cant_view_other_tenant(self): req = webob.Request.blank( - '/v1.1/faketenant_1/os-simple-tenant-usage/' + '/v2/faketenant_1/os-simple-tenant-usage/' 'faketenant_0?start=%s&end=%s' % (START.isoformat(), STOP.isoformat())) req.method = "GET" diff --git a/nova/tests/api/openstack/v2/contrib/test_virtual_interfaces.py b/nova/tests/api/openstack/v2/contrib/test_virtual_interfaces.py index 4285eaaaf..3e03fed34 100644 --- a/nova/tests/api/openstack/v2/contrib/test_virtual_interfaces.py +++ b/nova/tests/api/openstack/v2/contrib/test_virtual_interfaces.py @@ -43,7 +43,7 @@ class ServerVirtualInterfaceTest(test.TestCase): super(ServerVirtualInterfaceTest, self).tearDown() def test_get_virtual_interfaces_list(self): - url = '/v1.1/123/servers/abcd/os-virtual-interfaces' + url = '/v2/123/servers/abcd/os-virtual-interfaces' req = webob.Request.blank(url) res = req.get_response(fakes.wsgi_app()) self.assertEqual(res.status_int, 200) diff --git a/nova/tests/api/openstack/v2/contrib/test_volume_types.py b/nova/tests/api/openstack/v2/contrib/test_volume_types.py index 9da77349d..db7b4ee71 100644 --- a/nova/tests/api/openstack/v2/contrib/test_volume_types.py +++ b/nova/tests/api/openstack/v2/contrib/test_volume_types.py @@ -13,19 +13,16 @@ # License for the specific language governing permissions and limitations # under the License. -import json - -import stubout import webob from nova.api.openstack.v2.contrib import volumetypes from nova import exception -from nova import context from nova import test from nova import log as logging from nova.volume import volume_types from nova.tests.api.openstack import fakes + LOG = logging.getLogger('nova.tests.api.openstack.v2.contrib.' 'test_volume_types') @@ -88,7 +85,7 @@ class VolumeTypesApiTest(test.TestCase): self.stubs.Set(volume_types, 'get_all_types', return_volume_types_get_all_types) - req = fakes.HTTPRequest.blank('/v1.1/123/os-volume-types') + req = fakes.HTTPRequest.blank('/v2/123/os-volume-types') res_dict = self.controller.index(req) self.assertEqual(3, len(res_dict)) @@ -100,7 +97,7 @@ class VolumeTypesApiTest(test.TestCase): self.stubs.Set(volume_types, 'get_all_types', return_empty_volume_types_get_all_types) - req = fakes.HTTPRequest.blank('/v1.1/123/os-volume-types') + req = fakes.HTTPRequest.blank('/v2/123/os-volume-types') res_dict = self.controller.index(req) self.assertEqual(0, len(res_dict)) @@ -109,7 +106,7 @@ class VolumeTypesApiTest(test.TestCase): self.stubs.Set(volume_types, 'get_volume_type', return_volume_types_get_volume_type) - req = fakes.HTTPRequest.blank('/v1.1/123/os-volume-types/1') + req = fakes.HTTPRequest.blank('/v2/123/os-volume-types/1') res_dict = self.controller.show(req, 1) self.assertEqual(1, len(res_dict)) @@ -119,7 +116,7 @@ class VolumeTypesApiTest(test.TestCase): self.stubs.Set(volume_types, 'get_volume_type', return_volume_types_get_volume_type) - req = fakes.HTTPRequest.blank('/v1.1/123/os-volume-types/777') + req = fakes.HTTPRequest.blank('/v2/123/os-volume-types/777') self.assertRaises(webob.exc.HTTPNotFound, self.controller.show, req, '777') @@ -129,7 +126,7 @@ class VolumeTypesApiTest(test.TestCase): self.stubs.Set(volume_types, 'destroy', return_volume_types_destroy) - req = fakes.HTTPRequest.blank('/v1.1/123/os-volume-types/1') + req = fakes.HTTPRequest.blank('/v2/123/os-volume-types/1') self.controller.delete(req, 1) def test_volume_types_delete_not_found(self): @@ -138,7 +135,7 @@ class VolumeTypesApiTest(test.TestCase): self.stubs.Set(volume_types, 'destroy', return_volume_types_destroy) - req = fakes.HTTPRequest.blank('/v1.1/123/os-volume-types/777') + req = fakes.HTTPRequest.blank('/v2/123/os-volume-types/777') self.assertRaises(webob.exc.HTTPNotFound, self.controller.delete, req, '777') @@ -150,7 +147,7 @@ class VolumeTypesApiTest(test.TestCase): body = {"volume_type": {"name": "vol_type_1", "extra_specs": {"key1": "value1"}}} - req = fakes.HTTPRequest.blank('/v1.1/123/os-volume-types') + req = fakes.HTTPRequest.blank('/v2/123/os-volume-types') res_dict = self.controller.create(req, body) self.assertEqual(1, len(res_dict)) @@ -162,6 +159,6 @@ class VolumeTypesApiTest(test.TestCase): self.stubs.Set(volume_types, 'get_volume_type_by_name', return_volume_types_get_by_name) - req = fakes.HTTPRequest.blank('/v1.1/123/os-volume-types') + req = fakes.HTTPRequest.blank('/v2/123/os-volume-types') self.assertRaises(webob.exc.HTTPUnprocessableEntity, self.controller.create, req, '') diff --git a/nova/tests/api/openstack/v2/contrib/test_volume_types_extra_specs.py b/nova/tests/api/openstack/v2/contrib/test_volume_types_extra_specs.py index 9083d9d72..9947ff9c1 100644 --- a/nova/tests/api/openstack/v2/contrib/test_volume_types_extra_specs.py +++ b/nova/tests/api/openstack/v2/contrib/test_volume_types_extra_specs.py @@ -17,13 +17,8 @@ # License for the specific language governing permissions and limitations # under the License. -import json -import os.path - -import stubout import webob -from nova.api.openstack.v2 import extensions from nova.api.openstack.v2.contrib import volumetypes from nova import test from nova.tests.api.openstack import fakes @@ -62,7 +57,7 @@ class VolumeTypesExtraSpecsTest(test.TestCase): def setUp(self): super(VolumeTypesExtraSpecsTest, self).setUp() fakes.stub_out_key_pair_funcs(self.stubs) - self.api_path = '/v1.1/123/os-volume-types/1/extra_specs' + self.api_path = '/v2/123/os-volume-types/1/extra_specs' self.controller = volumetypes.VolumeTypeExtraSpecsController() def test_index(self): diff --git a/nova/tests/api/openstack/v2/contrib/test_volumes.py b/nova/tests/api/openstack/v2/contrib/test_volumes.py index 529abf225..2842b5151 100644 --- a/nova/tests/api/openstack/v2/contrib/test_volumes.py +++ b/nova/tests/api/openstack/v2/contrib/test_volumes.py @@ -74,7 +74,7 @@ class BootFromVolumeTest(test.TestCase): )) global _block_device_mapping_seen _block_device_mapping_seen = None - req = webob.Request.blank('/v1.1/fake/os-volumes_boot') + req = webob.Request.blank('/v2/fake/os-volumes_boot') req.method = 'POST' req.body = json.dumps(body) req.headers['content-type'] = 'application/json' diff --git a/nova/tests/api/openstack/v2/contrib/test_vsa.py b/nova/tests/api/openstack/v2/contrib/test_vsa.py index b4055a204..7b3ea1810 100644 --- a/nova/tests/api/openstack/v2/contrib/test_vsa.py +++ b/nova/tests/api/openstack/v2/contrib/test_vsa.py @@ -14,12 +14,10 @@ # under the License. import json -import unittest import stubout import webob -from nova.api.openstack.v2.contrib.virtual_storage_arrays import _vsa_view from nova import context import nova.db from nova import exception @@ -118,7 +116,7 @@ class VSAApiTest(test.TestCase): vsa = {"displayName": "VSA Test Name", "displayDescription": "VSA Test Desc"} body = dict(vsa=vsa) - req = webob.Request.blank('/v1.1/777/zadr-vsa') + req = webob.Request.blank('/v2/777/zadr-vsa') req.method = 'POST' req.body = json.dumps(body) req.headers['content-type'] = 'application/json' @@ -137,7 +135,7 @@ class VSAApiTest(test.TestCase): vsa['displayDescription']) def test_vsa_create_no_body(self): - req = webob.Request.blank('/v1.1/777/zadr-vsa') + req = webob.Request.blank('/v2/777/zadr-vsa') req.method = 'POST' req.body = json.dumps({}) req.headers['content-type'] = 'application/json' @@ -150,7 +148,7 @@ class VSAApiTest(test.TestCase): last_param = {} vsa_id = 123 - req = webob.Request.blank('/v1.1/777/zadr-vsa/%d' % vsa_id) + req = webob.Request.blank('/v2/777/zadr-vsa/%d' % vsa_id) req.method = 'DELETE' resp = req.get_response(fakes.wsgi_app()) @@ -162,7 +160,7 @@ class VSAApiTest(test.TestCase): last_param = {} vsa_id = 234 - req = webob.Request.blank('/v1.1/777/zadr-vsa/%d' % vsa_id) + req = webob.Request.blank('/v2/777/zadr-vsa/%d' % vsa_id) req.method = 'DELETE' resp = req.get_response(fakes.wsgi_app()) @@ -174,7 +172,7 @@ class VSAApiTest(test.TestCase): last_param = {} vsa_id = 123 - req = webob.Request.blank('/v1.1/777/zadr-vsa/%d' % vsa_id) + req = webob.Request.blank('/v2/777/zadr-vsa/%d' % vsa_id) req.method = 'GET' resp = req.get_response(fakes.wsgi_app()) self.assertEqual(resp.status_int, 200) @@ -189,14 +187,14 @@ class VSAApiTest(test.TestCase): last_param = {} vsa_id = 234 - req = webob.Request.blank('/v1.1/777/zadr-vsa/%d' % vsa_id) + req = webob.Request.blank('/v2/777/zadr-vsa/%d' % vsa_id) req.method = 'GET' resp = req.get_response(fakes.wsgi_app()) self.assertEqual(resp.status_int, 404) self.assertEqual(str(last_param['vsa_id']), str(vsa_id)) def test_vsa_index(self): - req = webob.Request.blank('/v1.1/777/zadr-vsa') + req = webob.Request.blank('/v2/777/zadr-vsa') req.method = 'GET' resp = req.get_response(fakes.wsgi_app()) self.assertEqual(resp.status_int, 200) @@ -211,7 +209,7 @@ class VSAApiTest(test.TestCase): self.assertEqual(resp_vsa['id'], 123) def test_vsa_detail(self): - req = webob.Request.blank('/v1.1/777/zadr-vsa/detail') + req = webob.Request.blank('/v2/777/zadr-vsa/detail') req.method = 'GET' resp = req.get_response(fakes.wsgi_app()) self.assertEqual(resp.status_int, 200) @@ -327,7 +325,7 @@ class VSAVolumeApiTest(test.TestCase): "displayName": "VSA Volume Test Name", "displayDescription": "VSA Volume Test Desc"} body = {self.test_obj: vol} - req = webob.Request.blank('/v1.1/777/zadr-vsa/123/%s' % self.test_objs) + req = webob.Request.blank('/v2/777/zadr-vsa/123/%s' % self.test_objs) req.method = 'POST' req.body = json.dumps(body) req.headers['content-type'] = 'application/json' @@ -348,7 +346,7 @@ class VSAVolumeApiTest(test.TestCase): self.assertEqual(resp.status_int, 400) def test_vsa_volume_create_no_body(self): - req = webob.Request.blank('/v1.1/777/zadr-vsa/123/%s' % self.test_objs) + req = webob.Request.blank('/v2/777/zadr-vsa/123/%s' % self.test_objs) req.method = 'POST' req.body = json.dumps({}) req.headers['content-type'] = 'application/json' @@ -360,25 +358,25 @@ class VSAVolumeApiTest(test.TestCase): self.assertEqual(resp.status_int, 400) def test_vsa_volume_index(self): - req = webob.Request.blank('/v1.1/777/zadr-vsa/123/%s' % self.test_objs) + req = webob.Request.blank('/v2/777/zadr-vsa/123/%s' % self.test_objs) resp = req.get_response(fakes.wsgi_app()) self.assertEqual(resp.status_int, 200) def test_vsa_volume_detail(self): - req = webob.Request.blank('/v1.1/777/zadr-vsa/123/%s/detail' % \ + req = webob.Request.blank('/v2/777/zadr-vsa/123/%s/detail' % \ self.test_objs) resp = req.get_response(fakes.wsgi_app()) self.assertEqual(resp.status_int, 200) def test_vsa_volume_show(self): obj_num = 234 if self.test_objs == "volumes" else 345 - req = webob.Request.blank('/v1.1/777/zadr-vsa/123/%s/%s' % \ + req = webob.Request.blank('/v2/777/zadr-vsa/123/%s/%s' % \ (self.test_objs, obj_num)) resp = req.get_response(fakes.wsgi_app()) self.assertEqual(resp.status_int, 200) def test_vsa_volume_show_no_vsa_assignment(self): - req = webob.Request.blank('/v1.1/777/zadr-vsa/4/%s/333' % \ + req = webob.Request.blank('/v2/777/zadr-vsa/4/%s/333' % \ (self.test_objs)) resp = req.get_response(fakes.wsgi_app()) self.assertEqual(resp.status_int, 400) @@ -386,7 +384,7 @@ class VSAVolumeApiTest(test.TestCase): def test_vsa_volume_show_no_volume(self): self.stubs.Set(volume.api.API, "get", stub_volume_get_notfound) - req = webob.Request.blank('/v1.1/777/zadr-vsa/123/%s/333' % \ + req = webob.Request.blank('/v2/777/zadr-vsa/123/%s/333' % \ (self.test_objs)) resp = req.get_response(fakes.wsgi_app()) self.assertEqual(resp.status_int, 404) @@ -396,7 +394,7 @@ class VSAVolumeApiTest(test.TestCase): update = {"status": "available", "displayName": "Test Display name"} body = {self.test_obj: update} - req = webob.Request.blank('/v1.1/777/zadr-vsa/123/%s/%s' % \ + req = webob.Request.blank('/v2/777/zadr-vsa/123/%s/%s' % \ (self.test_objs, obj_num)) req.method = 'PUT' req.body = json.dumps(body) @@ -410,7 +408,7 @@ class VSAVolumeApiTest(test.TestCase): def test_vsa_volume_delete(self): obj_num = 234 if self.test_objs == "volumes" else 345 - req = webob.Request.blank('/v1.1/777/zadr-vsa/123/%s/%s' % \ + req = webob.Request.blank('/v2/777/zadr-vsa/123/%s/%s' % \ (self.test_objs, obj_num)) req.method = 'DELETE' resp = req.get_response(fakes.wsgi_app()) @@ -420,7 +418,7 @@ class VSAVolumeApiTest(test.TestCase): self.assertEqual(resp.status_int, 400) def test_vsa_volume_delete_no_vsa_assignment(self): - req = webob.Request.blank('/v1.1/777/zadr-vsa/4/%s/333' % \ + req = webob.Request.blank('/v2/777/zadr-vsa/4/%s/333' % \ (self.test_objs)) req.method = 'DELETE' resp = req.get_response(fakes.wsgi_app()) @@ -429,7 +427,7 @@ class VSAVolumeApiTest(test.TestCase): def test_vsa_volume_delete_no_volume(self): self.stubs.Set(volume.api.API, "get", stub_volume_get_notfound) - req = webob.Request.blank('/v1.1/777/zadr-vsa/123/%s/333' % \ + req = webob.Request.blank('/v2/777/zadr-vsa/123/%s/333' % \ (self.test_objs)) req.method = 'DELETE' resp = req.get_response(fakes.wsgi_app()) diff --git a/nova/tests/api/openstack/v2/extensions/foxinsocks.py b/nova/tests/api/openstack/v2/extensions/foxinsocks.py index 05a995496..d2995953a 100644 --- a/nova/tests/api/openstack/v2/extensions/foxinsocks.py +++ b/nova/tests/api/openstack/v2/extensions/foxinsocks.py @@ -15,7 +15,6 @@ # License for the specific language governing permissions and limitations # under the License. -import json import webob.exc from nova.api.openstack.v2 import extensions @@ -65,7 +64,7 @@ class Foxinsocks(object): return res req_ext1 = extensions.RequestExtension('GET', - '/v1.1/:(project_id)/flavors/:(id)', + '/v2/:(project_id)/flavors/:(id)', _goose_handler) request_exts.append(req_ext1) @@ -76,7 +75,7 @@ class Foxinsocks(object): return res req_ext2 = extensions.RequestExtension('GET', - '/v1.1/:(project_id)/flavors/:(id)', + '/v2/:(project_id)/flavors/:(id)', _bands_handler) request_exts.append(req_ext2) return request_exts diff --git a/nova/tests/api/openstack/v2/test_accounts.py b/nova/tests/api/openstack/v2/test_accounts.py index ab3ecafde..bf97c0f98 100644 --- a/nova/tests/api/openstack/v2/test_accounts.py +++ b/nova/tests/api/openstack/v2/test_accounts.py @@ -56,7 +56,7 @@ class AccountsTest(test.TestCase): fakemgr.create_project('test2', superuser) def test_get_account(self): - req = webob.Request.blank('/v1.1/fake/accounts/test1') + req = webob.Request.blank('/v2/fake/accounts/test1') res = req.get_response(fakes.wsgi_app()) res_dict = json.loads(res.body) @@ -66,7 +66,7 @@ class AccountsTest(test.TestCase): self.assertEqual(res_dict['account']['manager'], 'id1') def test_get_account_xml(self): - req = webob.Request.blank('/v1.1/fake/accounts/test1.xml') + req = webob.Request.blank('/v2/fake/accounts/test1.xml') res = req.get_response(fakes.wsgi_app()) res_tree = etree.fromstring(res.body) @@ -77,7 +77,7 @@ class AccountsTest(test.TestCase): self.assertEqual('id1', res_tree.get('manager')) def test_account_delete(self): - req = webob.Request.blank('/v1.1/fake/accounts/test1') + req = webob.Request.blank('/v2/fake/accounts/test1') req.method = 'DELETE' res = req.get_response(fakes.wsgi_app()) self.assertTrue('test1' not in fakes.FakeAuthManager.projects) @@ -86,7 +86,7 @@ class AccountsTest(test.TestCase): def test_account_create(self): body = dict(account=dict(description='test account', manager='id1')) - req = webob.Request.blank('/v1.1/fake/accounts/newacct') + req = webob.Request.blank('/v2/fake/accounts/newacct') req.headers["Content-Type"] = "application/json" req.method = 'PUT' req.body = json.dumps(body) @@ -106,7 +106,7 @@ class AccountsTest(test.TestCase): def test_account_create_xml(self): body = dict(account=dict(description='test account', manager='id1')) - req = webob.Request.blank('/v1.1/fake/accounts/newacct.xml') + req = webob.Request.blank('/v2/fake/accounts/newacct.xml') req.headers["Content-Type"] = "application/json" req.method = 'PUT' req.body = json.dumps(body) @@ -127,7 +127,7 @@ class AccountsTest(test.TestCase): def test_account_update(self): body = dict(account=dict(description='test account', manager='id2')) - req = webob.Request.blank('/v1.1/fake/accounts/test1') + req = webob.Request.blank('/v2/fake/accounts/test1') req.headers["Content-Type"] = "application/json" req.method = 'PUT' req.body = json.dumps(body) @@ -145,7 +145,7 @@ class AccountsTest(test.TestCase): def test_account_update_xml(self): body = dict(account=dict(description='test account', manager='id2')) - req = webob.Request.blank('/v1.1/fake/accounts/test1.xml') + req = webob.Request.blank('/v2/fake/accounts/test1.xml') req.headers["Content-Type"] = "application/json" req.method = 'PUT' req.body = json.dumps(body) diff --git a/nova/tests/api/openstack/v2/test_auth.py b/nova/tests/api/openstack/v2/test_auth.py index 05058c555..d1dbc3319 100644 --- a/nova/tests/api/openstack/v2/test_auth.py +++ b/nova/tests/api/openstack/v2/test_auth.py @@ -50,7 +50,7 @@ class Test(test.TestCase): user = nova.auth.manager.User('id1', 'user1', 'user1_key', None, None) f.add_user(user) - req = webob.Request.blank('/v1.1/') + req = webob.Request.blank('/v2/') req.headers['X-Auth-User'] = 'user1' req.headers['X-Auth-Key'] = 'user1_key' req.headers['X-Auth-Project-Id'] = 'user1_project' @@ -67,21 +67,21 @@ class Test(test.TestCase): f.add_user(user) f.create_project('user1_project', user) - req = webob.Request.blank('/v1.1/', {'HTTP_HOST': 'foo'}) + req = webob.Request.blank('/v2/', {'HTTP_HOST': 'foo'}) req.headers['X-Auth-User'] = 'user1' req.headers['X-Auth-Key'] = 'user1_key' result = req.get_response(fakes.wsgi_app(fake_auth=False)) self.assertEqual(result.status, '204 No Content') self.assertEqual(len(result.headers['X-Auth-Token']), 40) self.assertEqual(result.headers['X-Server-Management-Url'], - "http://foo/v1.1/user1_project") + "http://foo/v2/user1_project") self.assertEqual(result.headers['X-CDN-Management-Url'], "") self.assertEqual(result.headers['X-Storage-Url'], "") token = result.headers['X-Auth-Token'] self.stubs.Set(nova.api.openstack.v2, 'APIRouter', fakes.FakeRouter) - req = webob.Request.blank('/v1.1/user1_project') + req = webob.Request.blank('/v2/user1_project') req.headers['X-Auth-Token'] = token result = req.get_response(fakes.wsgi_app(fake_auth=False)) self.assertEqual(result.status, '200 OK') @@ -89,7 +89,6 @@ class Test(test.TestCase): def test_token_expiry(self): self.destroy_called = False - token_hash = 'token_hash' def destroy_token_mock(meh, context, token): self.destroy_called = True @@ -105,7 +104,7 @@ class Test(test.TestCase): self.stubs.Set(fakes.FakeAuthDatabase, 'auth_token_get', bad_token) - req = webob.Request.blank('/v1.1/') + req = webob.Request.blank('/v2/') req.headers['X-Auth-Token'] = 'token_hash' result = req.get_response(fakes.wsgi_app(fake_auth=False)) self.assertEqual(result.status, '401 Unauthorized') @@ -118,7 +117,7 @@ class Test(test.TestCase): f.create_project('user1_project', user) f.create_project('user2_project', user) - req = webob.Request.blank('/v1.1/', {'HTTP_HOST': 'foo'}) + req = webob.Request.blank('/v2/', {'HTTP_HOST': 'foo'}) req.headers['X-Auth-User'] = 'user1' req.headers['X-Auth-Key'] = 'user1_key' result = req.get_response(fakes.wsgi_app(fake_auth=False)) @@ -126,14 +125,14 @@ class Test(test.TestCase): token = result.headers['X-Auth-Token'] self.stubs.Set(nova.api.openstack.v2, 'APIRouter', fakes.FakeRouter) - req = webob.Request.blank('/v1.1/user2_project') + req = webob.Request.blank('/v2/user2_project') req.headers['X-Auth-Token'] = token result = req.get_response(fakes.wsgi_app(fake_auth=False)) self.assertEqual(result.status, '200 OK') self.assertEqual(result.headers['X-Test-Success'], 'True') def test_bad_user_bad_key(self): - req = webob.Request.blank('/v1.1/') + req = webob.Request.blank('/v2/') req.headers['X-Auth-User'] = 'unknown_user' req.headers['X-Auth-Key'] = 'unknown_user_key' req.headers['X-Auth-Project-Id'] = 'user_project' @@ -145,19 +144,19 @@ class Test(test.TestCase): user = nova.auth.manager.User('id1', 'user1', 'user1_key', None, None) f.add_user(user) - req = webob.Request.blank('/v1.1/') + req = webob.Request.blank('/v2/') req.headers['X-Auth-User'] = 'unknown_user' req.headers['X-Auth-Key'] = 'user1_key' result = req.get_response(fakes.wsgi_app(fake_auth=False)) self.assertEqual(result.status, '401 Unauthorized') def test_no_user(self): - req = webob.Request.blank('/v1.1/') + req = webob.Request.blank('/v2/') result = req.get_response(fakes.wsgi_app(fake_auth=False)) self.assertEqual(result.status, '401 Unauthorized') def test_bad_token(self): - req = webob.Request.blank('/v1.1/') + req = webob.Request.blank('/v2/') req.headers['X-Auth-Token'] = 'unknown_token' result = req.get_response(fakes.wsgi_app(fake_auth=False)) self.assertEqual(result.status, '401 Unauthorized') @@ -171,7 +170,7 @@ class Test(test.TestCase): f.create_project('user1_project', user1) f.create_project('user2_project', user2) - req = webob.Request.blank('/v1.1/', {'HTTP_HOST': 'foo'}) + req = webob.Request.blank('/v2/', {'HTTP_HOST': 'foo'}) req.headers['X-Auth-User'] = 'user1' req.headers['X-Auth-Key'] = 'user1_key' result = req.get_response(fakes.wsgi_app(fake_auth=False)) @@ -179,7 +178,7 @@ class Test(test.TestCase): token = result.headers['X-Auth-Token'] self.stubs.Set(nova.api.openstack.v2, 'APIRouter', fakes.FakeRouter) - req = webob.Request.blank('/v1.1/user2_project') + req = webob.Request.blank('/v2/user2_project') req.headers['X-Auth-Token'] = token result = req.get_response(fakes.wsgi_app(fake_auth=False)) self.assertEqual(result.status, '401 Unauthorized') @@ -194,7 +193,7 @@ class Test(test.TestCase): f.add_user(user2) f.create_project('user2_project', user2) - req = webob.Request.blank('/v1.1/', {'HTTP_HOST': 'foo'}) + req = webob.Request.blank('/v2/', {'HTTP_HOST': 'foo'}) req.headers['X-Auth-User'] = 'user1' req.headers['X-Auth-Key'] = 'user1_key' result = req.get_response(fakes.wsgi_app(fake_auth=False)) @@ -202,7 +201,7 @@ class Test(test.TestCase): token = result.headers['X-Auth-Token'] self.stubs.Set(nova.api.openstack.v2, 'APIRouter', fakes.FakeRouter) - req = webob.Request.blank('/v1.1/user2_project') + req = webob.Request.blank('/v2/user2_project') req.headers['X-Auth-Token'] = token result = req.get_response(fakes.wsgi_app(fake_auth=False)) self.assertEqual(result.status, '401 Unauthorized') @@ -223,13 +222,13 @@ class TestFunctional(test.TestCase): created_at=datetime.datetime(2000, 1, 1, 12, 0, 0), )) - req = webob.Request.blank('/v1.1/') + req = webob.Request.blank('/v2/') req.headers['X-Auth-Token'] = 'test_token_hash' result = req.get_response(fakes.wsgi_app(fake_auth=False)) self.assertEqual(result.status, '401 Unauthorized') def test_token_doesnotexist(self): - req = webob.Request.blank('/v1.1/') + req = webob.Request.blank('/v2/') req.headers['X-Auth-Token'] = 'nonexistant_token_hash' result = req.get_response(fakes.wsgi_app(fake_auth=False)) self.assertEqual(result.status, '401 Unauthorized') @@ -255,7 +254,7 @@ class TestLimiter(test.TestCase): f.add_user(user) f.create_project('test', user) - req = webob.Request.blank('/v1.1/') + req = webob.Request.blank('/v2/') req.headers['X-Auth-User'] = 'user1' req.headers['X-Auth-Key'] = 'user1_key' result = req.get_response(fakes.wsgi_app(fake_auth=False)) @@ -263,7 +262,7 @@ class TestLimiter(test.TestCase): token = result.headers['X-Auth-Token'] self.stubs.Set(nova.api.openstack.v2, 'APIRouter', fakes.FakeRouter) - req = webob.Request.blank('/v1.1/test') + req = webob.Request.blank('/v2/test') req.method = 'POST' req.headers['X-Auth-Token'] = token result = req.get_response(fakes.wsgi_app(fake_auth=False)) @@ -286,7 +285,7 @@ class TestNoAuthMiddleware(test.TestCase): super(TestNoAuthMiddleware, self).tearDown() def test_authorize_user(self): - req = webob.Request.blank('/v1.1') + req = webob.Request.blank('/v2') req.headers['X-Auth-User'] = 'user1' req.headers['X-Auth-Key'] = 'user1_key' req.headers['X-Auth-Project-Id'] = 'user1_project' @@ -297,11 +296,11 @@ class TestNoAuthMiddleware(test.TestCase): "") self.assertEqual(result.headers['X-Storage-Url'], "") self.assertEqual(result.headers['X-Server-Management-Url'], - "http://localhost/v1.1/user1_project") + "http://localhost/v2/user1_project") def test_authorize_user_trailing_slash(self): #make sure it works with trailing slash on the request - req = webob.Request.blank('/v1.1/') + req = webob.Request.blank('/v2/') req.headers['X-Auth-User'] = 'user1' req.headers['X-Auth-Key'] = 'user1_key' req.headers['X-Auth-Project-Id'] = 'user1_project' @@ -312,4 +311,4 @@ class TestNoAuthMiddleware(test.TestCase): "") self.assertEqual(result.headers['X-Storage-Url'], "") self.assertEqual(result.headers['X-Server-Management-Url'], - "http://localhost/v1.1/user1_project") + "http://localhost/v2/user1_project") diff --git a/nova/tests/api/openstack/v2/test_consoles.py b/nova/tests/api/openstack/v2/test_consoles.py index fc6479f91..2b7f89149 100644 --- a/nova/tests/api/openstack/v2/test_consoles.py +++ b/nova/tests/api/openstack/v2/test_consoles.py @@ -53,7 +53,7 @@ class FakeInstanceDB(object): 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]]) + return dict(self.instances_by_id[self.ids_by_uuid[uuid]]) def _add_server(self, id=None, uuid=None): if id is None: @@ -136,7 +136,7 @@ class ConsolesControllerTest(test.TestCase): 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 + self.url = '/v2/fake/servers/%s/consoles' % self.uuid self.controller = consoles.Controller() def test_create_console(self): diff --git a/nova/tests/api/openstack/v2/test_extensions.py b/nova/tests/api/openstack/v2/test_extensions.py index 5d388ddd3..91c86bdad 100644 --- a/nova/tests/api/openstack/v2/test_extensions.py +++ b/nova/tests/api/openstack/v2/test_extensions.py @@ -16,17 +16,14 @@ # under the License. import json -import os.path import webob from lxml import etree from nova.api.openstack import v2 from nova.api.openstack.v2 import extensions -from nova.api.openstack.v2 import flavors from nova.api.openstack import wsgi from nova.api.openstack import xmlutil -from nova import context from nova import flags from nova import test from nova.tests.api.openstack import fakes @@ -404,15 +401,15 @@ class RequestExtensionTest(ExtensionTestCase): return res req_ext = extensions.RequestExtension('GET', - '/v1.1/123/flavors/:(id)', + '/v2/123/flavors/:(id)', _req_handler) manager = StubExtensionManager(None, None, req_ext) app = fakes.wsgi_app(serialization=base_wsgi.Middleware) ext_midware = extensions.ExtensionMiddleware(app, manager) ser_midware = wsgi.LazySerializationMiddleware(ext_midware) - request = webob.Request.blank("/v1.1/123/flavors/1?chewing=bluegoo") - request.environ['api.version'] = '1.1' + request = webob.Request.blank("/v2/123/flavors/1?chewing=bluegoo") + request.environ['api.version'] = '2' response = request.get_response(ser_midware) self.assertEqual(200, response.status_int) response_data = json.loads(response.body) @@ -423,11 +420,12 @@ class RequestExtensionTest(ExtensionTestCase): app = fakes.wsgi_app(serialization=base_wsgi.Middleware) ext_midware = extensions.ExtensionMiddleware(app) ser_midware = wsgi.LazySerializationMiddleware(ext_midware) - request = webob.Request.blank("/v1.1/123/flavors/1?chewing=newblue") - request.environ['api.version'] = '1.1' + request = webob.Request.blank("/v2/123/flavors/1?chewing=newblue") + request.environ['api.version'] = '2' response = request.get_response(ser_midware) self.assertEqual(200, response.status_int) response_data = json.loads(response.body) + print response_data self.assertEqual('newblue', response_data['flavor']['googoose']) self.assertEqual("Pig Bands!", response_data['big_bands']) diff --git a/nova/tests/api/openstack/v2/test_flavors.py b/nova/tests/api/openstack/v2/test_flavors.py index c62291ad1..b494c77b2 100644 --- a/nova/tests/api/openstack/v2/test_flavors.py +++ b/nova/tests/api/openstack/v2/test_flavors.py @@ -15,8 +15,6 @@ # License for the specific language governing permissions and limitations # under the License. -import json - from lxml import etree import webob @@ -26,7 +24,6 @@ import nova.compute.instance_types from nova import exception from nova import test from nova.tests.api.openstack import fakes -from nova import wsgi NS = "{http://docs.openstack.org/compute/api/v1.1}" @@ -100,12 +97,12 @@ class FlavorsTest(test.TestCase): self.stubs.Set(nova.compute.instance_types, "get_instance_type_by_flavor_id", return_instance_type_not_found) - req = fakes.HTTPRequest.blank('/v1.1/fake/flavors/asdf') + req = fakes.HTTPRequest.blank('/v2/fake/flavors/asdf') self.assertRaises(webob.exc.HTTPNotFound, self.controller.show, req, 'asdf') def test_get_flavor_by_id(self): - req = fakes.HTTPRequest.blank('/v1.1/fake/flavors/1') + req = fakes.HTTPRequest.blank('/v2/fake/flavors/1') flavor = self.controller.show(req, '1') expected = { "flavor": { @@ -120,7 +117,7 @@ class FlavorsTest(test.TestCase): "links": [ { "rel": "self", - "href": "http://localhost/v1.1/fake/flavors/1", + "href": "http://localhost/v2/fake/flavors/1", }, { "rel": "bookmark", @@ -132,7 +129,7 @@ class FlavorsTest(test.TestCase): self.assertEqual(flavor, expected) def test_get_flavor_list(self): - req = fakes.HTTPRequest.blank('/v1.1/fake/flavors') + req = fakes.HTTPRequest.blank('/v2/fake/flavors') flavor = self.controller.index(req) expected = { "flavors": [ @@ -142,7 +139,7 @@ class FlavorsTest(test.TestCase): "links": [ { "rel": "self", - "href": "http://localhost/v1.1/fake/flavors/1", + "href": "http://localhost/v2/fake/flavors/1", }, { "rel": "bookmark", @@ -156,7 +153,7 @@ class FlavorsTest(test.TestCase): "links": [ { "rel": "self", - "href": "http://localhost/v1.1/fake/flavors/2", + "href": "http://localhost/v2/fake/flavors/2", }, { "rel": "bookmark", @@ -169,7 +166,7 @@ class FlavorsTest(test.TestCase): self.assertEqual(flavor, expected) def test_get_flavor_list_detail(self): - req = fakes.HTTPRequest.blank('/v1.1/fake/flavors/detail') + req = fakes.HTTPRequest.blank('/v2/fake/flavors/detail') flavor = self.controller.detail(req) expected = { "flavors": [ @@ -185,7 +182,7 @@ class FlavorsTest(test.TestCase): "links": [ { "rel": "self", - "href": "http://localhost/v1.1/fake/flavors/1", + "href": "http://localhost/v2/fake/flavors/1", }, { "rel": "bookmark", @@ -205,7 +202,7 @@ class FlavorsTest(test.TestCase): "links": [ { "rel": "self", - "href": "http://localhost/v1.1/fake/flavors/2", + "href": "http://localhost/v2/fake/flavors/2", }, { "rel": "bookmark", @@ -221,14 +218,14 @@ class FlavorsTest(test.TestCase): self.stubs.Set(nova.compute.instance_types, "get_all_types", empty_instance_type_get_all) - req = fakes.HTTPRequest.blank('/v1.1/fake/flavors') + req = fakes.HTTPRequest.blank('/v2/fake/flavors') flavors = self.controller.index(req) expected = {'flavors': []} self.assertEqual(flavors, expected) def test_get_flavor_list_filter_min_ram(self): """Flavor lists may be filtered by minRam""" - req = fakes.HTTPRequest.blank('/v1.1/fake/flavors?minRam=512') + req = fakes.HTTPRequest.blank('/v2/fake/flavors?minRam=512') flavor = self.controller.index(req) expected = { "flavors": [ @@ -238,7 +235,7 @@ class FlavorsTest(test.TestCase): "links": [ { "rel": "self", - "href": "http://localhost/v1.1/fake/flavors/2", + "href": "http://localhost/v2/fake/flavors/2", }, { "rel": "bookmark", @@ -252,7 +249,7 @@ class FlavorsTest(test.TestCase): def test_get_flavor_list_filter_min_disk(self): """Flavor lists may be filtered by minRam""" - req = fakes.HTTPRequest.blank('/v1.1/fake/flavors?minDisk=20') + req = fakes.HTTPRequest.blank('/v2/fake/flavors?minDisk=20') flavor = self.controller.index(req) expected = { "flavors": [ @@ -262,7 +259,7 @@ class FlavorsTest(test.TestCase): "links": [ { "rel": "self", - "href": "http://localhost/v1.1/fake/flavors/2", + "href": "http://localhost/v2/fake/flavors/2", }, { "rel": "bookmark", @@ -278,7 +275,7 @@ class FlavorsTest(test.TestCase): """Tests that filtering work on flavor details and that minRam and minDisk filters can be combined """ - req = fakes.HTTPRequest.blank('/v1.1/fake/flavors/detail' + req = fakes.HTTPRequest.blank('/v2/fake/flavors/detail' '?minRam=256&minDisk=20') flavor = self.controller.detail(req) expected = { @@ -295,7 +292,7 @@ class FlavorsTest(test.TestCase): "links": [ { "rel": "self", - "href": "http://localhost/v1.1/fake/flavors/2", + "href": "http://localhost/v2/fake/flavors/2", }, { "rel": "bookmark", @@ -309,7 +306,7 @@ class FlavorsTest(test.TestCase): def test_get_flavor_list_detail_bogus_min_ram(self): """Tests that bogus minRam filtering values are ignored""" - req = fakes.HTTPRequest.blank('/v1.1/fake/flavors/detail?minRam=16GB') + req = fakes.HTTPRequest.blank('/v2/fake/flavors/detail?minRam=16GB') flavor = self.controller.detail(req) expected = { "flavors": [ @@ -325,7 +322,7 @@ class FlavorsTest(test.TestCase): "links": [ { "rel": "self", - "href": "http://localhost/v1.1/fake/flavors/1", + "href": "http://localhost/v2/fake/flavors/1", }, { "rel": "bookmark", @@ -345,7 +342,7 @@ class FlavorsTest(test.TestCase): "links": [ { "rel": "self", - "href": "http://localhost/v1.1/fake/flavors/2", + "href": "http://localhost/v2/fake/flavors/2", }, { "rel": "bookmark", @@ -359,7 +356,7 @@ class FlavorsTest(test.TestCase): def test_get_flavor_list_detail_bogus_min_disk(self): """Tests that bogus minDisk filtering values are ignored""" - req = fakes.HTTPRequest.blank('/v1.1/fake/flavors/detail?minDisk=16GB') + req = fakes.HTTPRequest.blank('/v2/fake/flavors/detail?minDisk=16GB') flavor = self.controller.detail(req) expected = { "flavors": [ @@ -375,7 +372,7 @@ class FlavorsTest(test.TestCase): "links": [ { "rel": "self", - "href": "http://localhost/v1.1/fake/flavors/1", + "href": "http://localhost/v2/fake/flavors/1", }, { "rel": "bookmark", @@ -395,7 +392,7 @@ class FlavorsTest(test.TestCase): "links": [ { "rel": "self", - "href": "http://localhost/v1.1/fake/flavors/2", + "href": "http://localhost/v2/fake/flavors/2", }, { "rel": "bookmark", @@ -426,7 +423,7 @@ class FlavorsXMLSerializationTest(test.TestCase): "links": [ { "rel": "self", - "href": "http://localhost/v1.1/fake/flavors/12", + "href": "http://localhost/v2/fake/flavors/12", }, { "rel": "bookmark", @@ -457,7 +454,7 @@ class FlavorsXMLSerializationTest(test.TestCase): "links": [ { "rel": "self", - "href": "http://localhost/v1.1/fake/flavors/12", + "href": "http://localhost/v2/fake/flavors/12", }, { "rel": "bookmark", @@ -498,7 +495,7 @@ class FlavorsXMLSerializationTest(test.TestCase): "links": [ { "rel": "self", - "href": "http://localhost/v1.1/fake/flavors/12", + "href": "http://localhost/v2/fake/flavors/12", }, { "rel": "bookmark", @@ -540,7 +537,7 @@ class FlavorsXMLSerializationTest(test.TestCase): "links": [ { "rel": "self", - "href": "http://localhost/v1.1/fake/flavors/23", + "href": "http://localhost/v2/fake/flavors/23", }, { "rel": "bookmark", @@ -560,7 +557,7 @@ class FlavorsXMLSerializationTest(test.TestCase): "links": [ { "rel": "self", - "href": "http://localhost/v1.1/fake/flavors/13", + "href": "http://localhost/v2/fake/flavors/13", }, { "rel": "bookmark", @@ -606,7 +603,7 @@ class FlavorsXMLSerializationTest(test.TestCase): "links": [ { "rel": "self", - "href": "http://localhost/v1.1/fake/flavors/23", + "href": "http://localhost/v2/fake/flavors/23", }, { "rel": "bookmark", @@ -626,7 +623,7 @@ class FlavorsXMLSerializationTest(test.TestCase): "links": [ { "rel": "self", - "href": "http://localhost/v1.1/fake/flavors/13", + "href": "http://localhost/v2/fake/flavors/13", }, { "rel": "bookmark", diff --git a/nova/tests/api/openstack/v2/test_image_metadata.py b/nova/tests/api/openstack/v2/test_image_metadata.py index a4f2f155d..d6250804e 100644 --- a/nova/tests/api/openstack/v2/test_image_metadata.py +++ b/nova/tests/api/openstack/v2/test_image_metadata.py @@ -35,30 +35,30 @@ class ImageMetaDataTest(test.TestCase): self.controller = image_metadata.Controller() def test_index(self): - req = fakes.HTTPRequest.blank('/v1.1/123/images/123/metadata') + req = fakes.HTTPRequest.blank('/v2/123/images/123/metadata') res_dict = self.controller.index(req, '123') expected = {'metadata': {'key1': 'value1'}} self.assertEqual(res_dict, expected) def test_show(self): - req = fakes.HTTPRequest.blank('/v1.1/fake/images/123/metadata/key1') + req = fakes.HTTPRequest.blank('/v2/fake/images/123/metadata/key1') res_dict = self.controller.show(req, '123', 'key1') self.assertTrue('meta' in res_dict) self.assertEqual(len(res_dict['meta']), 1) self.assertEqual('value1', res_dict['meta']['key1']) def test_show_not_found(self): - req = fakes.HTTPRequest.blank('/v1.1/fake/images/123/metadata/key9') + req = fakes.HTTPRequest.blank('/v2/fake/images/123/metadata/key9') self.assertRaises(webob.exc.HTTPNotFound, self.controller.show, req, '123', 'key9') def test_show_image_not_found(self): - req = fakes.HTTPRequest.blank('/v1.1/fake/images/100/metadata/key1') + req = fakes.HTTPRequest.blank('/v2/fake/images/100/metadata/key1') self.assertRaises(webob.exc.HTTPNotFound, self.controller.show, req, '100', 'key9') def test_create(self): - req = fakes.HTTPRequest.blank('/v1.1/fake/images/123/metadata') + req = fakes.HTTPRequest.blank('/v2/fake/images/123/metadata') req.method = 'POST' body = {"metadata": {"key7": "value7"}} req.body = json.dumps(body) @@ -69,7 +69,7 @@ class ImageMetaDataTest(test.TestCase): self.assertEqual(expected_output, res) def test_create_image_not_found(self): - req = fakes.HTTPRequest.blank('/v1.1/fake/images/100/metadata') + req = fakes.HTTPRequest.blank('/v2/fake/images/100/metadata') req.method = 'POST' body = {"metadata": {"key7": "value7"}} req.body = json.dumps(body) @@ -79,7 +79,7 @@ class ImageMetaDataTest(test.TestCase): self.controller.create, req, '100', body) def test_update_all(self): - req = fakes.HTTPRequest.blank('/v1.1/fake/images/123/metadata') + req = fakes.HTTPRequest.blank('/v2/fake/images/123/metadata') req.method = 'PUT' body = {"metadata": {"key9": "value9"}} req.body = json.dumps(body) @@ -90,7 +90,7 @@ class ImageMetaDataTest(test.TestCase): self.assertEqual(expected_output, res) def test_update_all_image_not_found(self): - req = fakes.HTTPRequest.blank('/v1.1/fake/images/100/metadata') + req = fakes.HTTPRequest.blank('/v2/fake/images/100/metadata') req.method = 'PUT' body = {"metadata": {"key9": "value9"}} req.body = json.dumps(body) @@ -100,7 +100,7 @@ class ImageMetaDataTest(test.TestCase): self.controller.update_all, req, '100', body) def test_update_item(self): - req = fakes.HTTPRequest.blank('/v1.1/fake/images/123/metadata/key1') + req = fakes.HTTPRequest.blank('/v2/fake/images/123/metadata/key1') req.method = 'PUT' body = {"meta": {"key1": "zz"}} req.body = json.dumps(body) @@ -111,7 +111,7 @@ class ImageMetaDataTest(test.TestCase): self.assertEqual(res, expected_output) def test_update_item_image_not_found(self): - req = fakes.HTTPRequest.blank('/v1.1/fake/images/100/metadata/key1') + req = fakes.HTTPRequest.blank('/v2/fake/images/100/metadata/key1') req.method = 'PUT' body = {"meta": {"key1": "zz"}} req.body = json.dumps(body) @@ -121,7 +121,7 @@ class ImageMetaDataTest(test.TestCase): self.controller.update, req, '100', 'key1', body) def test_update_item_bad_body(self): - req = fakes.HTTPRequest.blank('/v1.1/fake/images/123/metadata/key1') + req = fakes.HTTPRequest.blank('/v2/fake/images/123/metadata/key1') req.method = 'PUT' body = {"key1": "zz"} req.body = '' @@ -131,7 +131,7 @@ class ImageMetaDataTest(test.TestCase): self.controller.update, req, '123', 'key1', body) def test_update_item_too_many_keys(self): - req = fakes.HTTPRequest.blank('/v1.1/fake/images/123/metadata/key1') + req = fakes.HTTPRequest.blank('/v2/fake/images/123/metadata/key1') req.method = 'PUT' overload = {} for num in range(FLAGS.quota_metadata_items + 1): @@ -144,7 +144,7 @@ class ImageMetaDataTest(test.TestCase): self.controller.update, req, '123', 'key1', body) def test_update_item_body_uri_mismatch(self): - req = fakes.HTTPRequest.blank('/v1.1/fake/images/123/metadata/bad') + req = fakes.HTTPRequest.blank('/v2/fake/images/123/metadata/bad') req.method = 'PUT' body = {"meta": {"key1": "value1"}} req.body = json.dumps(body) @@ -154,21 +154,21 @@ class ImageMetaDataTest(test.TestCase): self.controller.update, req, '123', 'bad', body) def test_delete(self): - req = fakes.HTTPRequest.blank('/v1.1/fake/images/123/metadata/key1') + req = fakes.HTTPRequest.blank('/v2/fake/images/123/metadata/key1') req.method = 'DELETE' res = self.controller.delete(req, '123', 'key1') self.assertEqual(None, res) def test_delete_not_found(self): - req = fakes.HTTPRequest.blank('/v1.1/fake/images/123/metadata/blah') + req = fakes.HTTPRequest.blank('/v2/fake/images/123/metadata/blah') req.method = 'DELETE' self.assertRaises(webob.exc.HTTPNotFound, self.controller.delete, req, '123', 'blah') def test_delete_image_not_found(self): - req = fakes.HTTPRequest.blank('/v1.1/fake/images/100/metadata/key1') + req = fakes.HTTPRequest.blank('/v2/fake/images/100/metadata/key1') req.method = 'DELETE' self.assertRaises(webob.exc.HTTPNotFound, @@ -178,7 +178,7 @@ class ImageMetaDataTest(test.TestCase): data = {"metadata": {}} for num in range(FLAGS.quota_metadata_items + 1): data['metadata']['key%i' % num] = "blah" - req = fakes.HTTPRequest.blank('/v1.1/fake/images/123/metadata') + req = fakes.HTTPRequest.blank('/v2/fake/images/123/metadata') req.method = 'POST' req.body = json.dumps(data) req.headers["content-type"] = "application/json" @@ -190,7 +190,7 @@ class ImageMetaDataTest(test.TestCase): def test_too_many_metadata_items_on_put(self): FLAGS.quota_metadata_items = 1 - req = fakes.HTTPRequest.blank('/v1.1/fake/images/123/metadata/blah') + req = fakes.HTTPRequest.blank('/v2/fake/images/123/metadata/blah') req.method = 'PUT' body = {"meta": {"blah": "blah"}} req.body = json.dumps(body) diff --git a/nova/tests/api/openstack/v2/test_images.py b/nova/tests/api/openstack/v2/test_images.py index b02b6ff2d..40bacd10c 100644 --- a/nova/tests/api/openstack/v2/test_images.py +++ b/nova/tests/api/openstack/v2/test_images.py @@ -64,14 +64,14 @@ class ImagesControllerTest(test.TestCase): super(ImagesControllerTest, self).tearDown() def test_get_image(self): - fake_req = fakes.HTTPRequest.blank('/v1.1/fake/images/123') + fake_req = fakes.HTTPRequest.blank('/v2/fake/images/123') actual_image = self.controller.show(fake_req, '124') - href = "http://localhost/v1.1/fake/images/124" + href = "http://localhost/v2/fake/images/124" bookmark = "http://localhost/fake/images/124" alternate = "%s/fake/images/124" % utils.generate_glance_url() server_uuid = "aa640691-d1a7-4a67-9d3c-d35ee6b3cc74" - server_href = "http://localhost/v1.1/servers/" + server_uuid + server_href = "http://localhost/v2/servers/" + server_uuid server_bookmark = "http://localhost/servers/" + server_uuid expected_image = { @@ -118,12 +118,12 @@ class ImagesControllerTest(test.TestCase): self.assertDictMatch(expected_image, actual_image) def test_get_image_404(self): - fake_req = fakes.HTTPRequest.blank('/v1.1/fake/images/unknown') + fake_req = fakes.HTTPRequest.blank('/v2/fake/images/unknown') self.assertRaises(webob.exc.HTTPNotFound, self.controller.show, fake_req, 'unknown') def test_get_image_index(self): - fake_req = fakes.HTTPRequest.blank('/v1.1/fake/images') + fake_req = fakes.HTTPRequest.blank('/v2/fake/images') response_list = self.controller.index(fake_req)['images'] expected_images = [ @@ -133,7 +133,7 @@ class ImagesControllerTest(test.TestCase): "links": [ { "rel": "self", - "href": "http://localhost/v1.1/fake/images/123", + "href": "http://localhost/v2/fake/images/123", }, { "rel": "bookmark", @@ -153,7 +153,7 @@ class ImagesControllerTest(test.TestCase): "links": [ { "rel": "self", - "href": "http://localhost/v1.1/fake/images/124", + "href": "http://localhost/v2/fake/images/124", }, { "rel": "bookmark", @@ -173,7 +173,7 @@ class ImagesControllerTest(test.TestCase): "links": [ { "rel": "self", - "href": "http://localhost/v1.1/fake/images/125", + "href": "http://localhost/v2/fake/images/125", }, { "rel": "bookmark", @@ -193,7 +193,7 @@ class ImagesControllerTest(test.TestCase): "links": [ { "rel": "self", - "href": "http://localhost/v1.1/fake/images/126", + "href": "http://localhost/v2/fake/images/126", }, { "rel": "bookmark", @@ -213,7 +213,7 @@ class ImagesControllerTest(test.TestCase): "links": [ { "rel": "self", - "href": "http://localhost/v1.1/fake/images/127", + "href": "http://localhost/v2/fake/images/127", }, { "rel": "bookmark", @@ -233,7 +233,7 @@ class ImagesControllerTest(test.TestCase): "links": [ { "rel": "self", - "href": "http://localhost/v1.1/fake/images/128", + "href": "http://localhost/v2/fake/images/128", }, { "rel": "bookmark", @@ -253,7 +253,7 @@ class ImagesControllerTest(test.TestCase): "links": [ { "rel": "self", - "href": "http://localhost/v1.1/fake/images/129", + "href": "http://localhost/v2/fake/images/129", }, { "rel": "bookmark", @@ -273,7 +273,7 @@ class ImagesControllerTest(test.TestCase): "links": [ { "rel": "self", - "href": "http://localhost/v1.1/fake/images/130", + "href": "http://localhost/v2/fake/images/130", }, { "rel": "bookmark", @@ -292,7 +292,7 @@ class ImagesControllerTest(test.TestCase): self.assertDictListMatch(response_list, expected_images) def test_get_image_index_with_limit(self): - request = fakes.HTTPRequest.blank('/v1.1/fake/images?limit=3') + request = fakes.HTTPRequest.blank('/v2/fake/images?limit=3') response = self.controller.index(request) response_list = response["images"] response_links = response["images_links"] @@ -306,7 +306,7 @@ class ImagesControllerTest(test.TestCase): "links": [ { "rel": "self", - "href": "http://localhost/v1.1/fake/images/123", + "href": "http://localhost/v2/fake/images/123", }, { "rel": "bookmark", @@ -325,7 +325,7 @@ class ImagesControllerTest(test.TestCase): "links": [ { "rel": "self", - "href": "http://localhost/v1.1/fake/images/124", + "href": "http://localhost/v2/fake/images/124", }, { "rel": "bookmark", @@ -344,7 +344,7 @@ class ImagesControllerTest(test.TestCase): "links": [ { "rel": "self", - "href": "http://localhost/v1.1/fake/images/125", + "href": "http://localhost/v2/fake/images/125", }, { "rel": "bookmark", @@ -363,19 +363,19 @@ class ImagesControllerTest(test.TestCase): self.assertEqual(response_links[0]['rel'], 'next') href_parts = urlparse.urlparse(response_links[0]['href']) - self.assertEqual('/v1.1/fake/images', href_parts.path) + self.assertEqual('/v2/fake/images', href_parts.path) params = urlparse.parse_qs(href_parts.query) self.assertDictMatch({'limit': ['3'], 'marker': ['125']}, params) def test_get_image_index_with_limit_and_extra_params(self): - request = fakes.HTTPRequest.blank('/v1.1/fake/images?limit=3&extra=bo') + request = fakes.HTTPRequest.blank('/v2/fake/images?limit=3&extra=bo') response = self.controller.index(request) response_links = response["images_links"] self.assertEqual(response_links[0]['rel'], 'next') href_parts = urlparse.urlparse(response_links[0]['href']) - self.assertEqual('/v1.1/fake/images', href_parts.path) + self.assertEqual('/v2/fake/images', href_parts.path) params = urlparse.parse_qs(href_parts.query) self.assertDictMatch( {'limit': ['3'], 'marker': ['125'], 'extra': ['bo']}, @@ -386,19 +386,19 @@ class ImagesControllerTest(test.TestCase): Make sure we don't get images_links if limit is set and the number of images returned is < limit """ - request = fakes.HTTPRequest.blank('/v1.1/fake/images?limit=30') + request = fakes.HTTPRequest.blank('/v2/fake/images?limit=30') response = self.controller.index(request) self.assertEqual(response.keys(), ['images']) self.assertEqual(len(response['images']), 8) def test_get_image_details(self): - request = fakes.HTTPRequest.blank('/v1.1/fake/images/detail') + request = fakes.HTTPRequest.blank('/v2/fake/images/detail') response = self.controller.detail(request) response_list = response["images"] server_uuid = "aa640691-d1a7-4a67-9d3c-d35ee6b3cc74" - server_href = "http://localhost/v1.1/servers/" + server_uuid + server_href = "http://localhost/v2/servers/" + server_uuid server_bookmark = "http://localhost/servers/" + server_uuid alternate = "%s/fake/images/%s" @@ -414,7 +414,7 @@ class ImagesControllerTest(test.TestCase): 'minRam': 128, "links": [{ "rel": "self", - "href": "http://localhost/v1.1/fake/images/123", + "href": "http://localhost/v2/fake/images/123", }, { "rel": "bookmark", @@ -452,7 +452,7 @@ class ImagesControllerTest(test.TestCase): }, "links": [{ "rel": "self", - "href": "http://localhost/v1.1/fake/images/124", + "href": "http://localhost/v2/fake/images/124", }, { "rel": "bookmark", @@ -490,7 +490,7 @@ class ImagesControllerTest(test.TestCase): }, "links": [{ "rel": "self", - "href": "http://localhost/v1.1/fake/images/125", + "href": "http://localhost/v2/fake/images/125", }, { "rel": "bookmark", @@ -528,7 +528,7 @@ class ImagesControllerTest(test.TestCase): }, "links": [{ "rel": "self", - "href": "http://localhost/v1.1/fake/images/126", + "href": "http://localhost/v2/fake/images/126", }, { "rel": "bookmark", @@ -566,7 +566,7 @@ class ImagesControllerTest(test.TestCase): }, "links": [{ "rel": "self", - "href": "http://localhost/v1.1/fake/images/127", + "href": "http://localhost/v2/fake/images/127", }, { "rel": "bookmark", @@ -604,7 +604,7 @@ class ImagesControllerTest(test.TestCase): }, "links": [{ "rel": "self", - "href": "http://localhost/v1.1/fake/images/128", + "href": "http://localhost/v2/fake/images/128", }, { "rel": "bookmark", @@ -642,7 +642,7 @@ class ImagesControllerTest(test.TestCase): }, "links": [{ "rel": "self", - "href": "http://localhost/v1.1/fake/images/129", + "href": "http://localhost/v2/fake/images/129", }, { "rel": "bookmark", @@ -666,7 +666,7 @@ class ImagesControllerTest(test.TestCase): 'minRam': 0, "links": [{ "rel": "self", - "href": "http://localhost/v1.1/fake/images/130", + "href": "http://localhost/v2/fake/images/130", }, { "rel": "bookmark", @@ -683,13 +683,13 @@ class ImagesControllerTest(test.TestCase): self.assertDictListMatch(expected, response_list) def test_get_image_details_with_limit(self): - request = fakes.HTTPRequest.blank('/v1.1/fake/images/detail?limit=2') + request = fakes.HTTPRequest.blank('/v2/fake/images/detail?limit=2') response = self.controller.detail(request) response_list = response["images"] response_links = response["images_links"] server_uuid = "aa640691-d1a7-4a67-9d3c-d35ee6b3cc74" - server_href = "http://localhost/v1.1/servers/" + server_uuid + server_href = "http://localhost/v2/servers/" + server_uuid server_bookmark = "http://localhost/servers/" + server_uuid alternate = "%s/fake/images/%s" @@ -705,7 +705,7 @@ class ImagesControllerTest(test.TestCase): 'minRam': 128, "links": [{ "rel": "self", - "href": "http://localhost/v1.1/fake/images/123", + "href": "http://localhost/v2/fake/images/123", }, { "rel": "bookmark", @@ -743,7 +743,7 @@ class ImagesControllerTest(test.TestCase): }, "links": [{ "rel": "self", - "href": "http://localhost/v1.1/fake/images/124", + "href": "http://localhost/v2/fake/images/124", }, { "rel": "bookmark", @@ -759,7 +759,7 @@ class ImagesControllerTest(test.TestCase): self.assertDictListMatch(expected, response_list) href_parts = urlparse.urlparse(response_links[0]['href']) - self.assertEqual('/v1.1/fake/images', href_parts.path) + self.assertEqual('/v2/fake/images', href_parts.path) params = urlparse.parse_qs(href_parts.query) self.assertDictMatch({'limit': ['2'], 'marker': ['124']}, params) @@ -767,7 +767,7 @@ class ImagesControllerTest(test.TestCase): def test_image_filter_with_name(self): image_service = self.mox.CreateMockAnything() filters = {'name': 'testname'} - request = fakes.HTTPRequest.blank('/v1.1/images?name=testname') + request = fakes.HTTPRequest.blank('/v2/images?name=testname') context = request.environ['nova.context'] image_service.index(context, filters=filters).AndReturn([]) self.mox.ReplayAll() @@ -778,7 +778,7 @@ class ImagesControllerTest(test.TestCase): def test_image_filter_with_min_ram(self): image_service = self.mox.CreateMockAnything() filters = {'min_ram': '0'} - request = fakes.HTTPRequest.blank('/v1.1/images?minRam=0') + request = fakes.HTTPRequest.blank('/v2/images?minRam=0') context = request.environ['nova.context'] image_service.index(context, filters=filters).AndReturn([]) self.mox.ReplayAll() @@ -789,7 +789,7 @@ class ImagesControllerTest(test.TestCase): def test_image_filter_with_min_disk(self): image_service = self.mox.CreateMockAnything() filters = {'min_disk': '7'} - request = fakes.HTTPRequest.blank('/v1.1/images?minDisk=7') + request = fakes.HTTPRequest.blank('/v2/images?minDisk=7') context = request.environ['nova.context'] image_service.index(context, filters=filters).AndReturn([]) self.mox.ReplayAll() @@ -800,7 +800,7 @@ class ImagesControllerTest(test.TestCase): def test_image_filter_with_status(self): image_service = self.mox.CreateMockAnything() filters = {'status': 'ACTIVE'} - request = fakes.HTTPRequest.blank('/v1.1/images?status=ACTIVE') + request = fakes.HTTPRequest.blank('/v2/images?status=ACTIVE') context = request.environ['nova.context'] image_service.index(context, filters=filters).AndReturn([]) self.mox.ReplayAll() @@ -811,7 +811,7 @@ class ImagesControllerTest(test.TestCase): def test_image_filter_with_property(self): image_service = self.mox.CreateMockAnything() filters = {'property-test': '3'} - request = fakes.HTTPRequest.blank('/v1.1/images?property-test=3') + request = fakes.HTTPRequest.blank('/v2/images?property-test=3') context = request.environ['nova.context'] image_service.index(context, filters=filters).AndReturn([]) self.mox.ReplayAll() @@ -824,7 +824,7 @@ class ImagesControllerTest(test.TestCase): uuid = 'fa95aaf5-ab3b-4cd8-88c0-2be7dd051aaf' ref = 'http://localhost:8774/servers/' + uuid filters = {'property-instance_ref': ref} - request = fakes.HTTPRequest.blank('/v1.1/images?server=' + ref) + request = fakes.HTTPRequest.blank('/v2/images?server=' + ref) context = request.environ['nova.context'] image_service.index(context, filters=filters).AndReturn([]) self.mox.ReplayAll() @@ -835,7 +835,7 @@ class ImagesControllerTest(test.TestCase): def test_image_filter_changes_since(self): image_service = self.mox.CreateMockAnything() filters = {'changes-since': '2011-01-24T17:08Z'} - request = fakes.HTTPRequest.blank('/v1.1/images?changes-since=' + request = fakes.HTTPRequest.blank('/v2/images?changes-since=' '2011-01-24T17:08Z') context = request.environ['nova.context'] image_service.index(context, filters=filters).AndReturn([]) @@ -847,7 +847,7 @@ class ImagesControllerTest(test.TestCase): def test_image_filter_with_type(self): image_service = self.mox.CreateMockAnything() filters = {'property-image_type': 'BASE'} - request = fakes.HTTPRequest.blank('/v1.1/images?type=BASE') + request = fakes.HTTPRequest.blank('/v2/images?type=BASE') context = request.environ['nova.context'] image_service.index(context, filters=filters).AndReturn([]) self.mox.ReplayAll() @@ -858,7 +858,7 @@ class ImagesControllerTest(test.TestCase): def test_image_filter_not_supported(self): image_service = self.mox.CreateMockAnything() filters = {'status': 'ACTIVE'} - request = fakes.HTTPRequest.blank('/v1.1/images?status=ACTIVE&' + request = fakes.HTTPRequest.blank('/v2/images?status=ACTIVE&' 'UNSUPPORTEDFILTER=testname') context = request.environ['nova.context'] image_service.detail(context, filters=filters).AndReturn([]) @@ -870,7 +870,7 @@ class ImagesControllerTest(test.TestCase): def test_image_no_filters(self): image_service = self.mox.CreateMockAnything() filters = {} - request = fakes.HTTPRequest.blank('/v1.1/images') + request = fakes.HTTPRequest.blank('/v2/images') context = request.environ['nova.context'] image_service.index(context, filters=filters).AndReturn([]) self.mox.ReplayAll() @@ -881,7 +881,7 @@ class ImagesControllerTest(test.TestCase): def test_image_detail_filter_with_name(self): image_service = self.mox.CreateMockAnything() filters = {'name': 'testname'} - request = fakes.HTTPRequest.blank('/v1.1/fake/images/detail' + request = fakes.HTTPRequest.blank('/v2/fake/images/detail' '?name=testname') context = request.environ['nova.context'] image_service.detail(context, filters=filters).AndReturn([]) @@ -893,7 +893,7 @@ class ImagesControllerTest(test.TestCase): def test_image_detail_filter_with_status(self): image_service = self.mox.CreateMockAnything() filters = {'status': 'ACTIVE'} - request = fakes.HTTPRequest.blank('/v1.1/fake/images/detail' + request = fakes.HTTPRequest.blank('/v2/fake/images/detail' '?status=ACTIVE') context = request.environ['nova.context'] image_service.detail(context, filters=filters).AndReturn([]) @@ -905,7 +905,7 @@ class ImagesControllerTest(test.TestCase): def test_image_detail_filter_with_property(self): image_service = self.mox.CreateMockAnything() filters = {'property-test': '3'} - request = fakes.HTTPRequest.blank('/v1.1/fake/images/detail' + request = fakes.HTTPRequest.blank('/v2/fake/images/detail' '?property-test=3') context = request.environ['nova.context'] image_service.detail(context, filters=filters).AndReturn([]) @@ -918,7 +918,7 @@ class ImagesControllerTest(test.TestCase): image_service = self.mox.CreateMockAnything() uuid = 'fa95aaf5-ab3b-4cd8-88c0-2be7dd051aaf' ref = 'http://localhost:8774/servers/' + uuid - url = '/v1.1/fake/images/detail?server=' + ref + url = '/v2/fake/images/detail?server=' + ref filters = {'property-instance_ref': ref} request = fakes.HTTPRequest.blank(url) context = request.environ['nova.context'] @@ -931,7 +931,7 @@ class ImagesControllerTest(test.TestCase): def test_image_detail_filter_changes_since(self): image_service = self.mox.CreateMockAnything() filters = {'changes-since': '2011-01-24T17:08Z'} - request = fakes.HTTPRequest.blank('/v1.1/fake/images/detail' + request = fakes.HTTPRequest.blank('/v2/fake/images/detail' '?changes-since=2011-01-24T17:08Z') context = request.environ['nova.context'] image_service.index(context, filters=filters).AndReturn([]) @@ -943,7 +943,7 @@ class ImagesControllerTest(test.TestCase): def test_image_detail_filter_with_type(self): image_service = self.mox.CreateMockAnything() filters = {'property-image_type': 'BASE'} - request = fakes.HTTPRequest.blank('/v1.1/fake/images/detail?type=BASE') + request = fakes.HTTPRequest.blank('/v2/fake/images/detail?type=BASE') context = request.environ['nova.context'] image_service.index(context, filters=filters).AndReturn([]) self.mox.ReplayAll() @@ -954,7 +954,7 @@ class ImagesControllerTest(test.TestCase): def test_image_detail_filter_not_supported(self): image_service = self.mox.CreateMockAnything() filters = {'status': 'ACTIVE'} - request = fakes.HTTPRequest.blank('/v1.1/fake/images/detail?status=' + request = fakes.HTTPRequest.blank('/v2/fake/images/detail?status=' 'ACTIVE&UNSUPPORTEDFILTER=testname') context = request.environ['nova.context'] image_service.detail(context, filters=filters).AndReturn([]) @@ -966,7 +966,7 @@ class ImagesControllerTest(test.TestCase): def test_image_detail_no_filters(self): image_service = self.mox.CreateMockAnything() filters = {} - request = fakes.HTTPRequest.blank('/v1.1/fake/images/detail') + request = fakes.HTTPRequest.blank('/v2/fake/images/detail') context = request.environ['nova.context'] image_service.detail(context, filters=filters).AndReturn([]) self.mox.ReplayAll() @@ -976,19 +976,19 @@ class ImagesControllerTest(test.TestCase): def test_generate_alternate_link(self): view = images_view.ViewBuilder() - request = fakes.HTTPRequest.blank('/v1.1/fake/images/1') + request = fakes.HTTPRequest.blank('/v2/fake/images/1') generated_url = view._get_alternate_link(request, 1) actual_url = "%s/fake/images/1" % utils.generate_glance_url() self.assertEqual(generated_url, actual_url) def test_delete_image(self): - request = fakes.HTTPRequest.blank('/v1.1/fake/images/124') + request = fakes.HTTPRequest.blank('/v2/fake/images/124') request.method = 'DELETE' response = self.controller.delete(request, '124') self.assertEqual(response.status_int, 204) def test_delete_image_not_found(self): - request = fakes.HTTPRequest.blank('/v1.1/fake/images/300') + request = fakes.HTTPRequest.blank('/v2/fake/images/300') request.method = 'DELETE' self.assertRaises(webob.exc.HTTPNotFound, self.controller.delete, request, '300') @@ -998,10 +998,10 @@ class ImageXMLSerializationTest(test.TestCase): TIMESTAMP = "2010-10-11T10:30:22Z" SERVER_UUID = 'aa640691-d1a7-4a67-9d3c-d35ee6b3cc74' - SERVER_HREF = 'http://localhost/v1.1/servers/' + SERVER_UUID + SERVER_HREF = 'http://localhost/v2/servers/' + SERVER_UUID SERVER_BOOKMARK = 'http://localhost/servers/' + SERVER_UUID - IMAGE_HREF = 'http://localhost/v1.1/fake/images/%s' - IMAGE_NEXT = 'http://localhost/v1.1/fake/images?limit=%s&marker=%s' + IMAGE_HREF = 'http://localhost/v2/fake/images/%s' + IMAGE_NEXT = 'http://localhost/v2/fake/images?limit=%s&marker=%s' IMAGE_BOOKMARK = 'http://localhost/fake/images/%s' def test_xml_declaration(self): diff --git a/nova/tests/api/openstack/v2/test_limits.py b/nova/tests/api/openstack/v2/test_limits.py index e167f450c..8516c4945 100644 --- a/nova/tests/api/openstack/v2/test_limits.py +++ b/nova/tests/api/openstack/v2/test_limits.py @@ -20,7 +20,6 @@ Tests dealing with HTTP rate-limiting. import httplib import json import StringIO -import time import unittest from xml.dom import minidom diff --git a/nova/tests/api/openstack/v2/test_server_actions.py b/nova/tests/api/openstack/v2/test_server_actions.py index 3adde3b7a..1c1c2b986 100644 --- a/nova/tests/api/openstack/v2/test_server_actions.py +++ b/nova/tests/api/openstack/v2/test_server_actions.py @@ -15,7 +15,6 @@ import base64 import datetime -import json import stubout import webob @@ -28,7 +27,6 @@ import nova.db from nova import exception from nova import flags from nova import test -from nova.tests.api.openstack import common from nova.tests.api.openstack import fakes from nova import utils @@ -167,7 +165,7 @@ class ServerActionsControllerTest(test.TestCase): fakes.stub_out_glance_add_image(self.stubs, self.sent_to_glance) self.flags(allow_instance_snapshots=True) self.uuid = FAKE_UUID - self.url = '/v1.1/fake/servers/%s/action' % self.uuid + self.url = '/v2/fake/servers/%s/action' % self.uuid self.controller = servers.Controller() @@ -493,9 +491,9 @@ class ServerActionsControllerTest(test.TestCase): response = self.controller.action(req, FAKE_UUID, body) location = response.headers['Location'] - self.assertEqual('http://localhost/v1.1/fake/images/123', location) + self.assertEqual('http://localhost/v2/fake/images/123', location) server_location = self.snapshot.extra_props_last_call['instance_ref'] - expected_server_location = 'http://localhost/v1.1/servers/' + self.uuid + expected_server_location = 'http://localhost/v2/servers/' + self.uuid self.assertEqual(expected_server_location, server_location) def test_create_image_snapshots_disabled(self): @@ -524,7 +522,7 @@ class ServerActionsControllerTest(test.TestCase): response = self.controller.action(req, FAKE_UUID, body) location = response.headers['Location'] - self.assertEqual('http://localhost/v1.1/fake/images/123', location) + self.assertEqual('http://localhost/v2/fake/images/123', location) def test_create_image_with_too_much_metadata(self): body = { @@ -592,7 +590,7 @@ class ServerActionsControllerTest(test.TestCase): self.assertTrue(response.headers['Location']) server_location = self.backup.extra_props_last_call['instance_ref'] - expected_server_location = 'http://localhost/v1.1/servers/' + self.uuid + expected_server_location = 'http://localhost/v2/servers/' + self.uuid self.assertEqual(expected_server_location, server_location) def test_create_backup_admin_api_off(self): diff --git a/nova/tests/api/openstack/v2/test_servers.py b/nova/tests/api/openstack/v2/test_servers.py index 34a5dfa51..9af7163d6 100644 --- a/nova/tests/api/openstack/v2/test_servers.py +++ b/nova/tests/api/openstack/v2/test_servers.py @@ -222,7 +222,7 @@ class ServersControllerTest(test.TestCase): So, counterintuitively, we call `get` twice on the `show` command. """ - req = fakes.HTTPRequest.blank('/v1.1/fake/servers/%s' % FAKE_UUID) + req = fakes.HTTPRequest.blank('/v2/fake/servers/%s' % FAKE_UUID) res_dict = self.controller.show(req, FAKE_UUID) self.assertEqual(res_dict['server']['id'], FAKE_UUID) @@ -232,7 +232,7 @@ class ServersControllerTest(test.TestCase): flavor_bookmark = "http://localhost/fake/flavors/1" uuid = FAKE_UUID - req = fakes.HTTPRequest.blank('/v1.1/fake/servers/%s' % uuid) + req = fakes.HTTPRequest.blank('/v2/fake/servers/%s' % uuid) res_dict = self.controller.show(req, uuid) expected_server = { "server": { @@ -275,7 +275,7 @@ class ServersControllerTest(test.TestCase): "links": [ { "rel": "self", - "href": "http://localhost/v1.1/fake/servers/%s" % uuid, + "href": "http://localhost/v2/fake/servers/%s" % uuid, }, { "rel": "bookmark", @@ -296,7 +296,7 @@ class ServersControllerTest(test.TestCase): self.stubs.Set(nova.db, 'instance_get', new_return_server) uuid = FAKE_UUID - req = fakes.HTTPRequest.blank('/v1.1/fake/servers/%s' % uuid) + req = fakes.HTTPRequest.blank('/v2/fake/servers/%s' % uuid) res_dict = self.controller.show(req, uuid) expected_server = { "server": { @@ -339,7 +339,7 @@ class ServersControllerTest(test.TestCase): "links": [ { "rel": "self", - "href": "http://localhost/v1.1/fake/servers/%s" % uuid, + "href": "http://localhost/v2/fake/servers/%s" % uuid, }, { "rel": "bookmark", @@ -363,7 +363,7 @@ class ServersControllerTest(test.TestCase): self.stubs.Set(nova.db, 'instance_get', new_return_server) uuid = FAKE_UUID - req = fakes.HTTPRequest.blank('/v1.1/fake/servers/%s' % uuid) + req = fakes.HTTPRequest.blank('/v2/fake/servers/%s' % uuid) res_dict = self.controller.show(req, uuid) expected_server = { "server": { @@ -406,7 +406,7 @@ class ServersControllerTest(test.TestCase): "links": [ { "rel": "self", - "href": "http://localhost/v1.1/fake/servers/%s" % uuid, + "href": "http://localhost/v2/fake/servers/%s" % uuid, }, { "rel": "bookmark", @@ -427,7 +427,7 @@ class ServersControllerTest(test.TestCase): self.stubs.Set(nova.db, 'instance_get_by_uuid', fake_instance_get) - req = fakes.HTTPRequest.blank('/v1.1/fake/servers/%s' % FAKE_UUID) + req = fakes.HTTPRequest.blank('/v2/fake/servers/%s' % FAKE_UUID) res_dict = self.controller.show(req, FAKE_UUID) self.assertEqual(res_dict['server']['id'], FAKE_UUID) @@ -442,7 +442,7 @@ class ServersControllerTest(test.TestCase): self.stubs.Set(nova.db, 'instance_get_by_uuid', fake_instance_get) - req = fakes.HTTPRequest.blank('/v1.1/fake/servers/%s' % FAKE_UUID) + req = fakes.HTTPRequest.blank('/v2/fake/servers/%s' % FAKE_UUID) res_dict = self.controller.show(req, FAKE_UUID) self.assertEqual(res_dict['server']['id'], FAKE_UUID) @@ -456,7 +456,7 @@ class ServersControllerTest(test.TestCase): public_ips=publics, private_ips=privates) self.stubs.Set(nova.db, 'instance_get', new_return_server) - req = fakes.HTTPRequest.blank('/v1.1/fake/servers/%s' % FAKE_UUID) + req = fakes.HTTPRequest.blank('/v2/fake/servers/%s' % FAKE_UUID) res_dict = self.controller.show(req, FAKE_UUID) self.assertEqual(res_dict['server']['id'], FAKE_UUID) @@ -483,7 +483,7 @@ class ServersControllerTest(test.TestCase): public_ips=publics, private_ips=privates) self.stubs.Set(nova.db, 'instance_get', new_return_server) - req = fakes.HTTPRequest.blank('/v1.1/fake/servers/%s' % FAKE_UUID) + req = fakes.HTTPRequest.blank('/v2/fake/servers/%s' % FAKE_UUID) res_dict = self.controller.show(req, FAKE_UUID) self.assertEqual(res_dict['server']['id'], FAKE_UUID) @@ -510,7 +510,7 @@ class ServersControllerTest(test.TestCase): public_ips=publics, private_ips=privates) self.stubs.Set(nova.db, 'instance_get_by_uuid', new_return_server) - req = fakes.HTTPRequest.blank('/v1.1/fake/servers/%s/ips' % FAKE_UUID) + req = fakes.HTTPRequest.blank('/v2/fake/servers/%s/ips' % FAKE_UUID) res_dict = self.ips_controller.index(req, FAKE_UUID) expected = { @@ -537,7 +537,7 @@ class ServersControllerTest(test.TestCase): public_ips_are_floating=True) self.stubs.Set(nova.db, 'instance_get_by_uuid', new_return_server) - req = fakes.HTTPRequest.blank('/v1.1/fake/servers/%s/ips' % FAKE_UUID) + req = fakes.HTTPRequest.blank('/v2/fake/servers/%s/ips' % FAKE_UUID) res_dict = self.ips_controller.index(req, FAKE_UUID) expected = { @@ -561,7 +561,7 @@ class ServersControllerTest(test.TestCase): public_ips=publics, private_ips=privates) self.stubs.Set(nova.db, 'instance_get_by_uuid', new_return_server) - url = '/v1.1/fake/servers/%s/ips/public' % FAKE_UUID + url = '/v2/fake/servers/%s/ips/public' % FAKE_UUID req = fakes.HTTPRequest.blank(url) res_dict = self.ips_controller.show(req, FAKE_UUID, 'public') @@ -576,7 +576,7 @@ class ServersControllerTest(test.TestCase): self.assertDictMatch(res_dict, expected) def test_get_server_addresses_nonexistant_network(self): - url = '/v1.1/fake/servers/%s/ips/network_0' % FAKE_UUID + url = '/v2/fake/servers/%s/ips/network_0' % FAKE_UUID req = fakes.HTTPRequest.blank(url) self.assertRaises(webob.exc.HTTPNotFound, self.ips_controller.show, req, FAKE_UUID, 'network_0') @@ -588,7 +588,7 @@ class ServersControllerTest(test.TestCase): self.stubs.Set(nova.db, 'instance_get_by_uuid', fake_instance_get) server_id = str(utils.gen_uuid()) - req = fakes.HTTPRequest.blank('/v1.1/fake/servers/%s/ips' % server_id) + req = fakes.HTTPRequest.blank('/v2/fake/servers/%s/ips' % server_id) self.assertRaises(webob.exc.HTTPNotFound, self.ips_controller.index, req, server_id) @@ -598,7 +598,7 @@ class ServersControllerTest(test.TestCase): self.stubs.Set(nova.scheduler.api, 'call_zone_method', return_servers_from_child_zones) - req = fakes.HTTPRequest.blank('/v1.1/fake/servers?reservation_id=foo') + req = fakes.HTTPRequest.blank('/v2/fake/servers?reservation_id=foo') res_dict = self.controller.index(req) i = 0 @@ -616,7 +616,7 @@ class ServersControllerTest(test.TestCase): self.stubs.Set(nova.scheduler.api, 'call_zone_method', return_servers_from_child_zones_empty) - req = fakes.HTTPRequest.blank('/v1.1/fake/servers/detail?' + req = fakes.HTTPRequest.blank('/v2/fake/servers/detail?' 'reservation_id=foo') res_dict = self.controller.detail(req) @@ -634,7 +634,7 @@ class ServersControllerTest(test.TestCase): self.stubs.Set(nova.scheduler.api, 'call_zone_method', return_servers_from_child_zones) - req = fakes.HTTPRequest.blank('/v1.1/fake/servers/detail?' + req = fakes.HTTPRequest.blank('/v2/fake/servers/detail?' 'reservation_id=foo') res_dict = self.controller.detail(req) @@ -647,7 +647,7 @@ class ServersControllerTest(test.TestCase): i += 1 def test_get_server_list(self): - req = fakes.HTTPRequest.blank('/v1.1/fake/servers') + req = fakes.HTTPRequest.blank('/v2/fake/servers') res_dict = self.controller.index(req) self.assertEqual(len(res_dict['servers']), 5) @@ -659,7 +659,7 @@ class ServersControllerTest(test.TestCase): expected_links = [ { "rel": "self", - "href": "http://localhost/v1.1/fake/servers/%s" % s['id'], + "href": "http://localhost/v2/fake/servers/%s" % s['id'], }, { "rel": "bookmark", @@ -670,7 +670,7 @@ class ServersControllerTest(test.TestCase): self.assertEqual(s['links'], expected_links) def test_get_servers_with_limit(self): - req = fakes.HTTPRequest.blank('/v1.1/fake/servers?limit=3') + req = fakes.HTTPRequest.blank('/v2/fake/servers?limit=3') res_dict = self.controller.index(req) servers = res_dict['servers'] @@ -680,18 +680,18 @@ class ServersControllerTest(test.TestCase): servers_links = res_dict['servers_links'] self.assertEqual(servers_links[0]['rel'], 'next') href_parts = urlparse.urlparse(servers_links[0]['href']) - self.assertEqual('/v1.1/fake/servers', href_parts.path) + self.assertEqual('/v2/fake/servers', href_parts.path) params = urlparse.parse_qs(href_parts.query) expected_params = {'limit': ['3'], 'marker': [get_fake_uuid(2)]} self.assertDictMatch(expected_params, params) def test_get_servers_with_limit_bad_value(self): - req = fakes.HTTPRequest.blank('/v1.1/fake/servers?limit=aaa') + req = fakes.HTTPRequest.blank('/v2/fake/servers?limit=aaa') self.assertRaises(webob.exc.HTTPBadRequest, self.controller.index, req) def test_get_server_details_with_limit(self): - req = fakes.HTTPRequest.blank('/v1.1/fake/servers/detail?limit=3') + req = fakes.HTTPRequest.blank('/v2/fake/servers/detail?limit=3') res = self.controller.detail(req) servers = res['servers'] @@ -702,18 +702,18 @@ class ServersControllerTest(test.TestCase): self.assertEqual(servers_links[0]['rel'], 'next') href_parts = urlparse.urlparse(servers_links[0]['href']) - self.assertEqual('/v1.1/fake/servers', href_parts.path) + self.assertEqual('/v2/fake/servers', href_parts.path) params = urlparse.parse_qs(href_parts.query) expected = {'limit': ['3'], 'marker': [get_fake_uuid(2)]} self.assertDictMatch(expected, params) def test_get_server_details_with_limit_bad_value(self): - req = fakes.HTTPRequest.blank('/v1.1/fake/servers/detail?limit=aaa') + req = fakes.HTTPRequest.blank('/v2/fake/servers/detail?limit=aaa') self.assertRaises(webob.exc.HTTPBadRequest, self.controller.detail, req) def test_get_server_details_with_limit_and_other_params(self): - req = fakes.HTTPRequest.blank('/v1.1/fake/servers/detail' + req = fakes.HTTPRequest.blank('/v2/fake/servers/detail' '?limit=3&blah=2:t') res = self.controller.detail(req) @@ -725,36 +725,36 @@ class ServersControllerTest(test.TestCase): self.assertEqual(servers_links[0]['rel'], 'next') href_parts = urlparse.urlparse(servers_links[0]['href']) - self.assertEqual('/v1.1/fake/servers', href_parts.path) + self.assertEqual('/v2/fake/servers', href_parts.path) params = urlparse.parse_qs(href_parts.query) self.assertDictMatch({'limit': ['3'], 'blah': ['2:t'], 'marker': [get_fake_uuid(2)]}, params) def test_get_servers_with_too_big_limit(self): - req = fakes.HTTPRequest.blank('/v1.1/fake/servers?limit=30') + req = fakes.HTTPRequest.blank('/v2/fake/servers?limit=30') res_dict = self.controller.index(req) self.assertTrue('servers_links' not in res_dict) def test_get_servers_with_bad_limit(self): - req = fakes.HTTPRequest.blank('/v1.1/fake/servers?limit=asdf') + req = fakes.HTTPRequest.blank('/v2/fake/servers?limit=asdf') self.assertRaises(webob.exc.HTTPBadRequest, self.controller.index, req) def test_get_servers_with_marker(self): - url = '/v1.1/fake/servers?marker=%s' % get_fake_uuid(2) + url = '/v2/fake/servers?marker=%s' % get_fake_uuid(2) req = fakes.HTTPRequest.blank(url) servers = self.controller.index(req)['servers'] self.assertEqual([s['name'] for s in servers], ["server3", "server4"]) def test_get_servers_with_limit_and_marker(self): - url = '/v1.1/fake/servers?limit=2&marker=%s' % get_fake_uuid(1) + url = '/v2/fake/servers?limit=2&marker=%s' % get_fake_uuid(1) req = fakes.HTTPRequest.blank(url) servers = self.controller.index(req)['servers'] self.assertEqual([s['name'] for s in servers], ['server2', 'server3']) def test_get_servers_with_bad_marker(self): - req = fakes.HTTPRequest.blank('/v1.1/fake/servers?limit=2&marker=asdf') + req = fakes.HTTPRequest.blank('/v2/fake/servers?limit=2&marker=asdf') self.assertRaises(webob.exc.HTTPBadRequest, self.controller.index, req) @@ -766,7 +766,7 @@ class ServersControllerTest(test.TestCase): self.stubs.Set(nova.compute.API, 'get_all', fake_get_all) - req = fakes.HTTPRequest.blank('/v1.1/fake/servers?unknownoption=whee') + req = fakes.HTTPRequest.blank('/v2/fake/servers?unknownoption=whee') servers = self.controller.index(req)['servers'] self.assertEqual(len(servers), 1) @@ -784,7 +784,7 @@ class ServersControllerTest(test.TestCase): self.stubs.Set(nova.compute.API, 'get_all', fake_get_all) self.flags(allow_admin_api=False) - req = fakes.HTTPRequest.blank('/v1.1/fake/servers?image=12345') + req = fakes.HTTPRequest.blank('/v2/fake/servers?image=12345') servers = self.controller.index(req)['servers'] self.assertEqual(len(servers), 1) @@ -801,7 +801,7 @@ class ServersControllerTest(test.TestCase): fake_get_all) self.flags(allow_admin_api=True) - req = fakes.HTTPRequest.blank('/v1.1/fake/servers?tenant_id=fake', + req = fakes.HTTPRequest.blank('/v2/fake/servers?tenant_id=fake', use_admin_context=True) res = self.controller.index(req) @@ -820,7 +820,7 @@ class ServersControllerTest(test.TestCase): self.stubs.Set(nova.compute.API, 'get_all', fake_get_all) self.flags(allow_admin_api=False) - req = fakes.HTTPRequest.blank('/v1.1/fake/servers?flavor=12345') + req = fakes.HTTPRequest.blank('/v2/fake/servers?flavor=12345') servers = self.controller.index(req)['servers'] self.assertEqual(len(servers), 1) @@ -838,7 +838,7 @@ class ServersControllerTest(test.TestCase): self.stubs.Set(nova.compute.API, 'get_all', fake_get_all) self.flags(allow_admin_api=False) - req = fakes.HTTPRequest.blank('/v1.1/fake/servers?status=active') + req = fakes.HTTPRequest.blank('/v2/fake/servers?status=active') servers = self.controller.index(req)['servers'] self.assertEqual(len(servers), 1) @@ -847,7 +847,7 @@ class ServersControllerTest(test.TestCase): def test_get_servers_invalid_status(self): """Test getting servers by invalid status""" self.flags(allow_admin_api=False) - req = fakes.HTTPRequest.blank('/v1.1/fake/servers?status=unknown') + req = fakes.HTTPRequest.blank('/v2/fake/servers?status=unknown') self.assertRaises(webob.exc.HTTPBadRequest, self.controller.index, req) def test_get_servers_allows_name(self): @@ -862,7 +862,7 @@ class ServersControllerTest(test.TestCase): self.stubs.Set(nova.compute.API, 'get_all', fake_get_all) self.flags(allow_admin_api=False) - req = fakes.HTTPRequest.blank('/v1.1/fake/servers?name=whee.*') + req = fakes.HTTPRequest.blank('/v2/fake/servers?name=whee.*') servers = self.controller.index(req)['servers'] self.assertEqual(len(servers), 1) @@ -882,7 +882,7 @@ class ServersControllerTest(test.TestCase): self.stubs.Set(nova.compute.API, 'get_all', fake_get_all) params = 'changes-since=2011-01-24T17:08:01Z' - req = fakes.HTTPRequest.blank('/v1.1/fake/servers?%s' % params) + req = fakes.HTTPRequest.blank('/v2/fake/servers?%s' % params) servers = self.controller.index(req)['servers'] self.assertEqual(len(servers), 1) @@ -890,7 +890,7 @@ class ServersControllerTest(test.TestCase): def test_get_servers_allows_changes_since_bad_value(self): params = 'changes-since=asdf' - req = fakes.HTTPRequest.blank('/v1.1/fake/servers?%s' % params) + req = fakes.HTTPRequest.blank('/v2/fake/servers?%s' % params) self.assertRaises(webob.exc.HTTPBadRequest, self.controller.index, req) def test_get_servers_unknown_or_admin_options1(self): @@ -917,7 +917,7 @@ class ServersControllerTest(test.TestCase): self.stubs.Set(nova.compute.API, 'get_all', fake_get_all) query_str = "name=foo&ip=10.*&status=active&unknown_option=meow" - req = fakes.HTTPRequest.blank('/v1.1/fake/servers?%s' % query_str, + req = fakes.HTTPRequest.blank('/v2/fake/servers?%s' % query_str, use_admin_context=True) res = self.controller.index(req) @@ -949,7 +949,7 @@ class ServersControllerTest(test.TestCase): self.stubs.Set(nova.compute.API, 'get_all', fake_get_all) query_str = "name=foo&ip=10.*&status=active&unknown_option=meow" - req = fakes.HTTPRequest.blank('/v1.1/fake/servers?%s' % query_str) + req = fakes.HTTPRequest.blank('/v2/fake/servers?%s' % query_str) res = self.controller.index(req) servers = res['servers'] @@ -979,7 +979,7 @@ class ServersControllerTest(test.TestCase): self.stubs.Set(nova.compute.API, 'get_all', fake_get_all) query_str = "name=foo&ip=10.*&status=active&unknown_option=meow" - req = fakes.HTTPRequest.blank('/v1.1/fake/servers?%s' % query_str, + req = fakes.HTTPRequest.blank('/v2/fake/servers?%s' % query_str, use_admin_context=True) servers = self.controller.index(req)['servers'] @@ -1002,7 +1002,7 @@ class ServersControllerTest(test.TestCase): self.stubs.Set(nova.compute.API, 'get_all', fake_get_all) - req = fakes.HTTPRequest.blank('/v1.1/fake/servers?ip=10\..*', + req = fakes.HTTPRequest.blank('/v2/fake/servers?ip=10\..*', use_admin_context=True) servers = self.controller.index(req)['servers'] @@ -1025,7 +1025,7 @@ class ServersControllerTest(test.TestCase): self.stubs.Set(nova.compute.API, 'get_all', fake_get_all) - req = fakes.HTTPRequest.blank('/v1.1/fake/servers?ip6=ffff.*', + req = fakes.HTTPRequest.blank('/v2/fake/servers?ip6=ffff.*', use_admin_context=True) servers = self.controller.index(req)['servers'] @@ -1033,7 +1033,7 @@ class ServersControllerTest(test.TestCase): self.assertEqual(servers[0]['id'], server_uuid) def test_update_server_no_body(self): - req = fakes.HTTPRequest.blank('/v1.1/fake/servers/%s' % FAKE_UUID) + req = fakes.HTTPRequest.blank('/v2/fake/servers/%s' % FAKE_UUID) req.method = 'PUT' self.assertRaises(webob.exc.HTTPUnprocessableEntity, @@ -1044,7 +1044,7 @@ class ServersControllerTest(test.TestCase): return_server_with_attributes(name='server_test', access_ipv4='0.0.0.0', access_ipv6='beef::0123')) - req = fakes.HTTPRequest.blank('/v1.1/123/servers/%s' % FAKE_UUID) + req = fakes.HTTPRequest.blank('/v2/123/servers/%s' % FAKE_UUID) req.method = 'PUT' req.content_type = 'application/json' body = {'server': { @@ -1063,7 +1063,7 @@ class ServersControllerTest(test.TestCase): def test_update_server_name(self): self.stubs.Set(nova.db, 'instance_get', return_server_with_attributes(name='server_test')) - req = fakes.HTTPRequest.blank('/v1.1/fake/servers/%s' % FAKE_UUID) + req = fakes.HTTPRequest.blank('/v2/fake/servers/%s' % FAKE_UUID) req.method = 'PUT' req.content_type = 'application/json' body = {'server': {'name': 'server_test'}} @@ -1076,7 +1076,7 @@ class ServersControllerTest(test.TestCase): def test_update_server_access_ipv4(self): self.stubs.Set(nova.db, 'instance_get', return_server_with_attributes(access_ipv4='0.0.0.0')) - req = fakes.HTTPRequest.blank('/v1.1/123/servers/%s' % FAKE_UUID) + req = fakes.HTTPRequest.blank('/v2/123/servers/%s' % FAKE_UUID) req.method = 'PUT' req.content_type = 'application/json' body = {'server': {'accessIPv4': '0.0.0.0'}} @@ -1089,7 +1089,7 @@ class ServersControllerTest(test.TestCase): def test_update_server_access_ipv6(self): self.stubs.Set(nova.db, 'instance_get', return_server_with_attributes(access_ipv6='beef::0123')) - req = fakes.HTTPRequest.blank('/v1.1/123/servers/%s' % FAKE_UUID) + req = fakes.HTTPRequest.blank('/v2/123/servers/%s' % FAKE_UUID) req.method = 'PUT' req.content_type = 'application/json' body = {'server': {'accessIPv6': 'beef::0123'}} @@ -1114,7 +1114,7 @@ class ServersControllerTest(test.TestCase): self.stubs.Set(nova.db, 'instance_get', return_server_with_attributes(name='server_test')) - req = fakes.HTTPRequest.blank('/v1.1/fake/servers/%s' % FAKE_UUID) + req = fakes.HTTPRequest.blank('/v2/fake/servers/%s' % FAKE_UUID) req.method = 'PUT' req.content_type = "application/json" req.body = json.dumps(body) @@ -1142,7 +1142,7 @@ class ServersControllerTest(test.TestCase): }, ], } - req = fakes.HTTPRequest.blank('/v1.1/fake/servers/detail') + req = fakes.HTTPRequest.blank('/v2/fake/servers/detail') res_dict = self.controller.detail(req) for i, s in enumerate(res_dict['servers']): @@ -1170,7 +1170,7 @@ class ServersControllerTest(test.TestCase): self.stubs.Set(nova.db, 'instance_get_all_by_filters', return_servers_with_host) - req = fakes.HTTPRequest.blank('/v1.1/fake/servers/detail') + req = fakes.HTTPRequest.blank('/v2/fake/servers/detail') res_dict = self.controller.detail(req) server_list = res_dict['servers'] @@ -1184,7 +1184,7 @@ class ServersControllerTest(test.TestCase): self.assertEqual(s['name'], 'server%d' % i) def test_delete_server_instance(self): - req = fakes.HTTPRequest.blank('/v1.1/fake/servers/%s' % FAKE_UUID) + req = fakes.HTTPRequest.blank('/v2/fake/servers/%s' % FAKE_UUID) req.method = 'DELETE' self.server_delete_called = False @@ -1213,7 +1213,7 @@ class ServerStatusTest(test.TestCase): self.stubs.Set(nova.db, 'instance_get_by_uuid', new_server) self.stubs.Set(nova.db, 'instance_get', new_server) - request = fakes.HTTPRequest.blank('/v1.1/fake/servers/%s' % FAKE_UUID) + request = fakes.HTTPRequest.blank('/v2/fake/servers/%s' % FAKE_UUID) return self.controller.show(request, FAKE_UUID) def test_active(self): @@ -1354,7 +1354,7 @@ class ServersControllerCreateTest(test.TestCase): name='server_test', imageRef=image_uuid, flavorRef=2, metadata={'hello': 'world', 'open': 'stack'}, personality={})) - req = fakes.HTTPRequest.blank('/v1.1/fake/servers') + req = fakes.HTTPRequest.blank('/v2/fake/servers') req.method = 'POST' req.body = json.dumps(body) req.headers["content-type"] = "application/json" @@ -1381,7 +1381,7 @@ class ServersControllerCreateTest(test.TestCase): } } - req = fakes.HTTPRequest.blank('/v1.1/123/servers') + req = fakes.HTTPRequest.blank('/v2/123/servers') req.method = 'POST' req.body = json.dumps(body) req.headers["content-type"] = "application/json" @@ -1409,7 +1409,7 @@ class ServersControllerCreateTest(test.TestCase): } } - req = fakes.HTTPRequest.blank('/v1.1/123/servers') + req = fakes.HTTPRequest.blank('/v2/123/servers') req.method = 'POST' req.body = json.dumps(body) req.headers["content-type"] = "application/json" @@ -1437,7 +1437,7 @@ class ServersControllerCreateTest(test.TestCase): } } - req = fakes.HTTPRequest.blank('/v1.1/123/servers') + req = fakes.HTTPRequest.blank('/v2/123/servers') req.method = 'POST' req.body = json.dumps(body) req.headers["content-type"] = "application/json" @@ -1463,7 +1463,7 @@ class ServersControllerCreateTest(test.TestCase): } } - req = fakes.HTTPRequest.blank('/v1.1/123/servers', + req = fakes.HTTPRequest.blank('/v2/123/servers', use_admin_context=True) req.method = 'POST' req.body = json.dumps(body) @@ -1478,9 +1478,9 @@ class ServersControllerCreateTest(test.TestCase): self._test_create_instance() def test_create_instance_with_access_ip(self): - # proper local hrefs must start with 'http://localhost/v1.1/' + # proper local hrefs must start with 'http://localhost/v2/' image_uuid = '76fa36fc-c930-4bf3-8c8a-ea2a2420deb6' - image_href = 'http://localhost/v1.1/fake/images/%s' % image_uuid + image_href = 'http://localhost/v2/fake/images/%s' % image_uuid flavor_ref = 'http://localhost/fake/flavors/3' access_ipv4 = '1.2.3.4' access_ipv6 = 'fead::1234' @@ -1522,7 +1522,7 @@ class ServersControllerCreateTest(test.TestCase): }, } - req = fakes.HTTPRequest.blank('/v1.1/123/servers') + req = fakes.HTTPRequest.blank('/v2/123/servers') req.method = 'POST' req.body = json.dumps(body) req.headers["content-type"] = "application/json" @@ -1533,9 +1533,9 @@ class ServersControllerCreateTest(test.TestCase): self.assertEqual(FAKE_UUID, server['id']) def test_create_instance(self): - # proper local hrefs must start with 'http://localhost/v1.1/' + # proper local hrefs must start with 'http://localhost/v2/' image_uuid = '76fa36fc-c930-4bf3-8c8a-ea2a2420deb6' - image_href = 'http://localhost/v1.1/images/%s' % image_uuid + image_href = 'http://localhost/v2/images/%s' % image_uuid flavor_ref = 'http://localhost/123/flavors/3' body = { 'server': { @@ -1555,7 +1555,7 @@ class ServersControllerCreateTest(test.TestCase): }, } - req = fakes.HTTPRequest.blank('/v1.1/fake/servers') + req = fakes.HTTPRequest.blank('/v2/fake/servers') req.method = 'POST' req.body = json.dumps(body) req.headers["content-type"] = "application/json" @@ -1566,12 +1566,12 @@ class ServersControllerCreateTest(test.TestCase): self.assertEqual(FAKE_UUID, server['id']) def test_create_instance_invalid_key_name(self): - image_href = 'http://localhost/v1.1/images/2' + image_href = 'http://localhost/v2/images/2' flavor_ref = 'http://localhost/flavors/3' body = dict(server=dict( name='server_test', imageRef=image_href, flavorRef=flavor_ref, key_name='nonexistentkey')) - req = fakes.HTTPRequest.blank('/v1.1/fake/servers') + req = fakes.HTTPRequest.blank('/v2/fake/servers') req.method = 'POST' req.body = json.dumps(body) req.headers["content-type"] = "application/json" @@ -1585,7 +1585,7 @@ class ServersControllerCreateTest(test.TestCase): body = dict(server=dict( name='server_test', imageRef=image_href, flavorRef=flavor_ref, key_name='key')) - req = fakes.HTTPRequest.blank('/v1.1/fake/servers') + req = fakes.HTTPRequest.blank('/v2/fake/servers') req.method = 'POST' req.body = json.dumps(body) req.headers["content-type"] = "application/json" @@ -1595,13 +1595,13 @@ class ServersControllerCreateTest(test.TestCase): self.assertEqual(12, len(res["server"]["adminPass"])) def test_create_instance_invalid_flavor_href(self): - image_href = 'http://localhost/v1.1/images/2' - flavor_ref = 'http://localhost/v1.1/flavors/asdf' + image_href = 'http://localhost/v2/images/2' + flavor_ref = 'http://localhost/v2/flavors/asdf' body = dict(server=dict( name='server_test', imageRef=image_href, flavorRef=flavor_ref, metadata={'hello': 'world', 'open': 'stack'}, personality={})) - req = fakes.HTTPRequest.blank('/v1.1/fake/servers') + req = fakes.HTTPRequest.blank('/v2/fake/servers') req.method = 'POST' req.body = json.dumps(body) req.headers["content-type"] = "application/json" @@ -1610,13 +1610,13 @@ class ServersControllerCreateTest(test.TestCase): self.controller.create, req, body) def test_create_instance_invalid_flavor_id_int(self): - image_href = 'http://localhost/v1.1/123/images/2' + image_href = 'http://localhost/v2/123/images/2' flavor_ref = -1 body = dict(server=dict( name='server_test', imageRef=image_href, flavorRef=flavor_ref, metadata={'hello': 'world', 'open': 'stack'}, personality={})) - req = fakes.HTTPRequest.blank('/v1.1/123/servers') + req = fakes.HTTPRequest.blank('/v2/123/servers') req.method = 'POST' req.body = json.dumps(body) req.headers["content-type"] = "application/json" @@ -1625,13 +1625,13 @@ class ServersControllerCreateTest(test.TestCase): self.controller.create, req, body) def test_create_instance_bad_flavor_href(self): - image_href = 'http://localhost/v1.1/images/2' - flavor_ref = 'http://localhost/v1.1/flavors/17' + image_href = 'http://localhost/v2/images/2' + flavor_ref = 'http://localhost/v2/flavors/17' body = dict(server=dict( name='server_test', imageRef=image_href, flavorRef=flavor_ref, metadata={'hello': 'world', 'open': 'stack'}, personality={})) - req = fakes.HTTPRequest.blank('/v1.1/fake/servers') + req = fakes.HTTPRequest.blank('/v2/fake/servers') req.method = 'POST' req.body = json.dumps(body) req.headers["content-type"] = "application/json" @@ -1642,7 +1642,7 @@ class ServersControllerCreateTest(test.TestCase): def test_create_instance_with_config_drive(self): self.config_drive = True image_href = '76fa36fc-c930-4bf3-8c8a-ea2a2420deb6' - flavor_ref = 'http://localhost/v1.1/123/flavors/3' + flavor_ref = 'http://localhost/v2/123/flavors/3' body = { 'server': { 'name': 'config_drive_test', @@ -1657,7 +1657,7 @@ class ServersControllerCreateTest(test.TestCase): }, } - req = fakes.HTTPRequest.blank('/v1.1/123/servers') + req = fakes.HTTPRequest.blank('/v2/123/servers') req.method = 'POST' req.body = json.dumps(body) req.headers["content-type"] = "application/json" @@ -1669,7 +1669,7 @@ class ServersControllerCreateTest(test.TestCase): def test_create_instance_with_config_drive_as_id(self): self.config_drive = 2 image_href = '76fa36fc-c930-4bf3-8c8a-ea2a2420deb6' - flavor_ref = 'http://localhost/v1.1/123/flavors/3' + flavor_ref = 'http://localhost/v2/123/flavors/3' body = { 'server': { 'name': 'config_drive_test', @@ -1684,7 +1684,7 @@ class ServersControllerCreateTest(test.TestCase): }, } - req = fakes.HTTPRequest.blank('/v1.1/123/servers') + req = fakes.HTTPRequest.blank('/v2/123/servers') req.method = 'POST' req.body = json.dumps(body) req.headers["content-type"] = "application/json" @@ -1696,7 +1696,7 @@ class ServersControllerCreateTest(test.TestCase): def test_create_instance_with_bad_config_drive(self): self.config_drive = "asdf" image_href = '76fa36fc-c930-4bf3-8c8a-ea2a2420deb6' - flavor_ref = 'http://localhost/v1.1/123/flavors/3' + flavor_ref = 'http://localhost/v2/123/flavors/3' body = { 'server': { 'name': 'config_drive_test', @@ -1711,7 +1711,7 @@ class ServersControllerCreateTest(test.TestCase): }, } - req = fakes.HTTPRequest.blank('/v1.1/123/servers') + req = fakes.HTTPRequest.blank('/v2/123/servers') req.method = 'POST' req.body = json.dumps(body) req.headers["content-type"] = "application/json" @@ -1721,7 +1721,7 @@ class ServersControllerCreateTest(test.TestCase): def test_create_instance_without_config_drive(self): image_href = '76fa36fc-c930-4bf3-8c8a-ea2a2420deb6' - flavor_ref = 'http://localhost/v1.1/123/flavors/3' + flavor_ref = 'http://localhost/v2/123/flavors/3' body = { 'server': { 'name': 'config_drive_test', @@ -1736,7 +1736,7 @@ class ServersControllerCreateTest(test.TestCase): }, } - req = fakes.HTTPRequest.blank('/v1.1/123/servers') + req = fakes.HTTPRequest.blank('/v2/123/servers') req.method = 'POST' req.body = json.dumps(body) req.headers["content-type"] = "application/json" @@ -1747,12 +1747,12 @@ class ServersControllerCreateTest(test.TestCase): def test_create_instance_bad_href(self): image_href = 'asdf' - flavor_ref = 'http://localhost/v1.1/flavors/3' + flavor_ref = 'http://localhost/v2/flavors/3' body = dict(server=dict( name='server_test', imageRef=image_href, flavorRef=flavor_ref, metadata={'hello': 'world', 'open': 'stack'}, personality={})) - req = fakes.HTTPRequest.blank('/v1.1/fake/servers') + req = fakes.HTTPRequest.blank('/v2/fake/servers') req.method = 'POST' req.body = json.dumps(body) req.headers["content-type"] = "application/json" @@ -1762,7 +1762,7 @@ class ServersControllerCreateTest(test.TestCase): def test_create_instance_local_href(self): image_uuid = '76fa36fc-c930-4bf3-8c8a-ea2a2420deb6' - flavor_ref = 'http://localhost/v1.1/flavors/3' + flavor_ref = 'http://localhost/v2/flavors/3' body = { 'server': { 'name': 'server_test', @@ -1771,7 +1771,7 @@ class ServersControllerCreateTest(test.TestCase): }, } - req = fakes.HTTPRequest.blank('/v1.1/fake/servers') + req = fakes.HTTPRequest.blank('/v2/fake/servers') req.method = 'POST' req.body = json.dumps(body) req.headers["content-type"] = "application/json" @@ -1791,7 +1791,7 @@ class ServersControllerCreateTest(test.TestCase): }, } - req = fakes.HTTPRequest.blank('/v1.1/fake/servers') + req = fakes.HTTPRequest.blank('/v2/fake/servers') req.method = 'POST' req.body = json.dumps(body) req.headers['content-type'] = "application/json" @@ -1810,7 +1810,7 @@ class ServersControllerCreateTest(test.TestCase): }, } - req = fakes.HTTPRequest.blank('/v1.1/fake/servers') + req = fakes.HTTPRequest.blank('/v2/fake/servers') req.method = 'POST' req.body = json.dumps(body) req.headers['content-type'] = "application/json" @@ -1819,7 +1819,7 @@ class ServersControllerCreateTest(test.TestCase): self.controller.create, req, body) def test_create_instance_malformed_entity(self): - req = fakes.HTTPRequest.blank('/v1.1/fake/servers') + req = fakes.HTTPRequest.blank('/v2/fake/servers') req.method = 'POST' body = {'server': 'string'} req.body = json.dumps(body) @@ -1837,7 +1837,7 @@ class TestServerCreateRequestXMLDeserializer(test.TestCase): def test_minimal_request(self): serial_request = """ -<server xmlns="http://docs.openstack.org/compute/api/v1.1" +<server xmlns="http://docs.openstack.org/compute/api/v2" name="new-server-test" imageRef="1" flavorRef="2"/>""" @@ -1853,7 +1853,7 @@ class TestServerCreateRequestXMLDeserializer(test.TestCase): def test_access_ipv4(self): serial_request = """ -<server xmlns="http://docs.openstack.org/compute/api/v1.1" +<server xmlns="http://docs.openstack.org/compute/api/v2" name="new-server-test" imageRef="1" flavorRef="2" @@ -1871,7 +1871,7 @@ class TestServerCreateRequestXMLDeserializer(test.TestCase): def test_access_ipv6(self): serial_request = """ -<server xmlns="http://docs.openstack.org/compute/api/v1.1" +<server xmlns="http://docs.openstack.org/compute/api/v2" name="new-server-test" imageRef="1" flavorRef="2" @@ -1889,7 +1889,7 @@ class TestServerCreateRequestXMLDeserializer(test.TestCase): def test_access_ip(self): serial_request = """ -<server xmlns="http://docs.openstack.org/compute/api/v1.1" +<server xmlns="http://docs.openstack.org/compute/api/v2" name="new-server-test" imageRef="1" flavorRef="2" @@ -1909,7 +1909,7 @@ class TestServerCreateRequestXMLDeserializer(test.TestCase): def test_admin_pass(self): serial_request = """ -<server xmlns="http://docs.openstack.org/compute/api/v1.1" +<server xmlns="http://docs.openstack.org/compute/api/v2" name="new-server-test" imageRef="1" flavorRef="2" @@ -1927,15 +1927,15 @@ class TestServerCreateRequestXMLDeserializer(test.TestCase): def test_image_link(self): serial_request = """ -<server xmlns="http://docs.openstack.org/compute/api/v1.1" +<server xmlns="http://docs.openstack.org/compute/api/v2" name="new-server-test" - imageRef="http://localhost:8774/v1.1/images/2" + imageRef="http://localhost:8774/v2/images/2" flavorRef="3"/>""" request = self.deserializer.deserialize(serial_request, 'create') expected = { "server": { "name": "new-server-test", - "imageRef": "http://localhost:8774/v1.1/images/2", + "imageRef": "http://localhost:8774/v2/images/2", "flavorRef": "3", }, } @@ -1943,23 +1943,23 @@ class TestServerCreateRequestXMLDeserializer(test.TestCase): def test_flavor_link(self): serial_request = """ -<server xmlns="http://docs.openstack.org/compute/api/v1.1" +<server xmlns="http://docs.openstack.org/compute/api/v2" name="new-server-test" imageRef="1" - flavorRef="http://localhost:8774/v1.1/flavors/3"/>""" + flavorRef="http://localhost:8774/v2/flavors/3"/>""" request = self.deserializer.deserialize(serial_request, 'create') expected = { "server": { "name": "new-server-test", "imageRef": "1", - "flavorRef": "http://localhost:8774/v1.1/flavors/3", + "flavorRef": "http://localhost:8774/v2/flavors/3", }, } self.assertEquals(request['body'], expected) def test_empty_metadata_personality(self): serial_request = """ -<server xmlns="http://docs.openstack.org/compute/api/v1.1" +<server xmlns="http://docs.openstack.org/compute/api/v2" name="new-server-test" imageRef="1" flavorRef="2"> @@ -1980,7 +1980,7 @@ class TestServerCreateRequestXMLDeserializer(test.TestCase): def test_multiple_metadata_items(self): serial_request = """ -<server xmlns="http://docs.openstack.org/compute/api/v1.1" +<server xmlns="http://docs.openstack.org/compute/api/v2" name="new-server-test" imageRef="1" flavorRef="2"> @@ -2002,7 +2002,7 @@ class TestServerCreateRequestXMLDeserializer(test.TestCase): def test_multiple_personality_files(self): serial_request = """ -<server xmlns="http://docs.openstack.org/compute/api/v1.1" +<server xmlns="http://docs.openstack.org/compute/api/v2" name="new-server-test" imageRef="1" flavorRef="2"> @@ -2029,7 +2029,7 @@ class TestServerCreateRequestXMLDeserializer(test.TestCase): image_bookmark_link = "http://servers.api.openstack.org/1234/" + \ "images/52415800-8b69-11e0-9b19-734f6f006e54" serial_request = """ -<server xmlns="http://docs.openstack.org/compute/api/v1.1" +<server xmlns="http://docs.openstack.org/compute/api/v2" imageRef="%s" flavorRef="52415800-8b69-11e0-9b19-734f1195ff37" name="new-server-test"> @@ -2060,7 +2060,7 @@ class TestServerCreateRequestXMLDeserializer(test.TestCase): def test_request_with_empty_networks(self): serial_request = """ -<server xmlns="http://docs.openstack.org/compute/api/v1.1" +<server xmlns="http://docs.openstack.org/compute/api/v2" name="new-server-test" imageRef="1" flavorRef="1"> <networks/> </server>""" @@ -2075,7 +2075,7 @@ class TestServerCreateRequestXMLDeserializer(test.TestCase): def test_request_with_one_network(self): serial_request = """ -<server xmlns="http://docs.openstack.org/compute/api/v1.1" +<server xmlns="http://docs.openstack.org/compute/api/v2" name="new-server-test" imageRef="1" flavorRef="1"> <networks> <network uuid="1" fixed_ip="10.0.1.12"/> @@ -2092,7 +2092,7 @@ class TestServerCreateRequestXMLDeserializer(test.TestCase): def test_request_with_two_networks(self): serial_request = """ -<server xmlns="http://docs.openstack.org/compute/api/v1.1" +<server xmlns="http://docs.openstack.org/compute/api/v2" name="new-server-test" imageRef="1" flavorRef="1"> <networks> <network uuid="1" fixed_ip="10.0.1.12"/> @@ -2111,7 +2111,7 @@ class TestServerCreateRequestXMLDeserializer(test.TestCase): def test_request_with_second_network_node_ignored(self): serial_request = """ -<server xmlns="http://docs.openstack.org/compute/api/v1.1" +<server xmlns="http://docs.openstack.org/compute/api/v2" name="new-server-test" imageRef="1" flavorRef="1"> <networks> <network uuid="1" fixed_ip="10.0.1.12"/> @@ -2131,7 +2131,7 @@ class TestServerCreateRequestXMLDeserializer(test.TestCase): def test_request_with_one_network_missing_id(self): serial_request = """ -<server xmlns="http://docs.openstack.org/compute/api/v1.1" +<server xmlns="http://docs.openstack.org/compute/api/v2" name="new-server-test" imageRef="1" flavorRef="1"> <networks> <network fixed_ip="10.0.1.12"/> @@ -2148,7 +2148,7 @@ class TestServerCreateRequestXMLDeserializer(test.TestCase): def test_request_with_one_network_missing_fixed_ip(self): serial_request = """ -<server xmlns="http://docs.openstack.org/compute/api/v1.1" +<server xmlns="http://docs.openstack.org/compute/api/v2" name="new-server-test" imageRef="1" flavorRef="1"> <networks> <network uuid="1"/> @@ -2165,7 +2165,7 @@ class TestServerCreateRequestXMLDeserializer(test.TestCase): def test_request_with_one_network_empty_id(self): serial_request = """ - <server xmlns="http://docs.openstack.org/compute/api/v1.1" + <server xmlns="http://docs.openstack.org/compute/api/v2" name="new-server-test" imageRef="1" flavorRef="1"> <networks> <network uuid="" fixed_ip="10.0.1.12"/> @@ -2182,7 +2182,7 @@ class TestServerCreateRequestXMLDeserializer(test.TestCase): def test_request_with_one_network_empty_fixed_ip(self): serial_request = """ - <server xmlns="http://docs.openstack.org/compute/api/v1.1" + <server xmlns="http://docs.openstack.org/compute/api/v2" name="new-server-test" imageRef="1" flavorRef="1"> <networks> <network uuid="1" fixed_ip=""/> @@ -2199,7 +2199,7 @@ class TestServerCreateRequestXMLDeserializer(test.TestCase): def test_request_with_networks_duplicate_ids(self): serial_request = """ - <server xmlns="http://docs.openstack.org/compute/api/v1.1" + <server xmlns="http://docs.openstack.org/compute/api/v2" name="new-server-test" imageRef="1" flavorRef="1"> <networks> <network uuid="1" fixed_ip="10.0.1.12"/> @@ -2298,10 +2298,10 @@ class ServersViewBuilderTest(test.TestCase): self.uuid = self.instance['uuid'] self.view_builder = nova.api.openstack.v2.views.servers.ViewBuilder() - self.request = fakes.HTTPRequest.blank("/v1.1") + self.request = fakes.HTTPRequest.blank("/v2") def test_build_server(self): - self_link = "http://localhost/v1.1/fake/servers/%s" % self.uuid + self_link = "http://localhost/v2/fake/servers/%s" % self.uuid bookmark_link = "http://localhost/fake/servers/%s" % self.uuid expected_server = { "server": { @@ -2331,7 +2331,7 @@ class ServersViewBuilderTest(test.TestCase): "links": [ { "rel": "self", - "href": "http://localhost/v1.1/fake/servers/%s" % + "href": "http://localhost/v2/fake/servers/%s" % self.uuid, }, { @@ -2348,7 +2348,7 @@ class ServersViewBuilderTest(test.TestCase): def test_build_server_detail(self): image_bookmark = "http://localhost/fake/images/5" flavor_bookmark = "http://localhost/fake/flavors/1" - self_link = "http://localhost/v1.1/fake/servers/%s" % self.uuid + self_link = "http://localhost/v2/fake/servers/%s" % self.uuid bookmark_link = "http://localhost/fake/servers/%s" % self.uuid expected_server = { "server": { @@ -2415,7 +2415,7 @@ class ServersViewBuilderTest(test.TestCase): self.instance['progress'] = 100 image_bookmark = "http://localhost/fake/images/5" flavor_bookmark = "http://localhost/fake/flavors/1" - self_link = "http://localhost/v1.1/fake/servers/%s" % self.uuid + self_link = "http://localhost/v2/fake/servers/%s" % self.uuid bookmark_link = "http://localhost/fake/servers/%s" % self.uuid expected_server = { "server": { @@ -2482,7 +2482,7 @@ class ServersViewBuilderTest(test.TestCase): image_bookmark = "http://localhost/fake/images/5" flavor_bookmark = "http://localhost/fake/flavors/1" - self_link = "http://localhost/v1.1/fake/servers/%s" % self.uuid + self_link = "http://localhost/v2/fake/servers/%s" % self.uuid bookmark_link = "http://localhost/fake/servers/%s" % self.uuid expected_server = { "server": { @@ -2549,7 +2549,7 @@ class ServersViewBuilderTest(test.TestCase): image_bookmark = "http://localhost/fake/images/5" flavor_bookmark = "http://localhost/fake/flavors/1" - self_link = "http://localhost/v1.1/fake/servers/%s" % self.uuid + self_link = "http://localhost/v2/fake/servers/%s" % self.uuid bookmark_link = "http://localhost/fake/servers/%s" % self.uuid expected_server = { "server": { @@ -2619,7 +2619,7 @@ class ServersViewBuilderTest(test.TestCase): image_bookmark = "http://localhost/fake/images/5" flavor_bookmark = "http://localhost/fake/flavors/1" - self_link = "http://localhost/v1.1/fake/servers/%s" % self.uuid + self_link = "http://localhost/v2/fake/servers/%s" % self.uuid bookmark_link = "http://localhost/fake/servers/%s" % self.uuid expected_server = { "server": { @@ -2687,8 +2687,8 @@ class ServersViewBuilderTest(test.TestCase): class ServerXMLSerializationTest(test.TestCase): TIMESTAMP = "2010-10-11T10:30:22Z" - SERVER_HREF = 'http://localhost/v1.1/servers/%s' % FAKE_UUID - SERVER_NEXT = 'http://localhost/v1.1/servers?limit=%s&marker=%s' + SERVER_HREF = 'http://localhost/v2/servers/%s' % FAKE_UUID + SERVER_NEXT = 'http://localhost/v2/servers?limit=%s&marker=%s' SERVER_BOOKMARK = 'http://localhost/servers/%s' % FAKE_UUID IMAGE_BOOKMARK = 'http://localhost/images/5' FLAVOR_BOOKMARK = 'http://localhost/flavors/1' @@ -2854,11 +2854,6 @@ class ServerXMLSerializationTest(test.TestCase): root = etree.XML(output) xmlutil.validate_schema(root, 'server') - expected_server_href = self.SERVER_HREF - expected_server_bookmark = self.SERVER_BOOKMARK - expected_image_bookmark = self.IMAGE_BOOKMARK - expected_flavor_bookmark = self.FLAVOR_BOOKMARK - expected_now = self.TIMESTAMP server_dict = fixture['server'] for key in ['name', 'id', 'created', 'accessIPv4', @@ -2990,11 +2985,6 @@ class ServerXMLSerializationTest(test.TestCase): root = etree.XML(output) xmlutil.validate_schema(root, 'server') - expected_server_href = self.SERVER_HREF - expected_server_bookmark = self.SERVER_BOOKMARK - expected_image_bookmark = self.IMAGE_BOOKMARK - expected_flavor_bookmark = self.FLAVOR_BOOKMARK - expected_now = self.TIMESTAMP server_dict = fixture['server'] for key in ['name', 'id', 'created', 'accessIPv4', @@ -3052,9 +3042,9 @@ class ServerXMLSerializationTest(test.TestCase): uuid1 = get_fake_uuid(1) uuid2 = get_fake_uuid(2) - expected_server_href = 'http://localhost/v1.1/servers/%s' % uuid1 + expected_server_href = 'http://localhost/v2/servers/%s' % uuid1 expected_server_bookmark = 'http://localhost/servers/%s' % uuid1 - expected_server_href_2 = 'http://localhost/v1.1/servers/%s' % uuid2 + expected_server_href_2 = 'http://localhost/v2/servers/%s' % uuid2 expected_server_bookmark_2 = 'http://localhost/servers/%s' % uuid2 fixture = {"servers": [ { @@ -3109,10 +3099,10 @@ class ServerXMLSerializationTest(test.TestCase): uuid1 = get_fake_uuid(1) uuid2 = get_fake_uuid(2) - expected_server_href = 'http://localhost/v1.1/servers/%s' % uuid1 + expected_server_href = 'http://localhost/v2/servers/%s' % uuid1 expected_server_next = self.SERVER_NEXT % (2, 2) expected_server_bookmark = 'http://localhost/servers/%s' % uuid1 - expected_server_href_2 = 'http://localhost/v1.1/servers/%s' % uuid2 + expected_server_href_2 = 'http://localhost/v2/servers/%s' % uuid2 expected_server_bookmark_2 = 'http://localhost/servers/%s' % uuid2 fixture = {"servers": [ { @@ -3178,14 +3168,13 @@ class ServerXMLSerializationTest(test.TestCase): serializer = servers.ServerXMLSerializer() uuid1 = get_fake_uuid(1) - expected_server_href = 'http://localhost/v1.1/servers/%s' % uuid1 + expected_server_href = 'http://localhost/v2/servers/%s' % uuid1 expected_server_bookmark = 'http://localhost/servers/%s' % uuid1 expected_image_bookmark = self.IMAGE_BOOKMARK expected_flavor_bookmark = self.FLAVOR_BOOKMARK - expected_now = self.TIMESTAMP uuid2 = get_fake_uuid(2) - expected_server_href_2 = 'http://localhost/v1.1/servers/%s' % uuid2 + expected_server_href_2 = 'http://localhost/v2/servers/%s' % uuid2 expected_server_bookmark_2 = 'http://localhost/servers/%s' % uuid2 fixture = {"servers": [ { @@ -3438,11 +3427,6 @@ class ServerXMLSerializationTest(test.TestCase): root = etree.XML(output) xmlutil.validate_schema(root, 'server') - expected_server_href = self.SERVER_HREF - expected_server_bookmark = self.SERVER_BOOKMARK - expected_image_bookmark = self.IMAGE_BOOKMARK - expected_flavor_bookmark = self.FLAVOR_BOOKMARK - expected_now = self.TIMESTAMP server_dict = fixture['server'] for key in ['name', 'id', 'created', 'accessIPv4', @@ -3573,11 +3557,6 @@ class ServerXMLSerializationTest(test.TestCase): root = etree.XML(output) xmlutil.validate_schema(root, 'server') - expected_server_href = self.SERVER_HREF - expected_server_bookmark = self.SERVER_BOOKMARK - expected_image_bookmark = self.IMAGE_BOOKMARK - expected_flavor_bookmark = self.FLAVOR_BOOKMARK - expected_now = self.TIMESTAMP server_dict = fixture['server'] for key in ['name', 'id', 'created', 'accessIPv4', diff --git a/nova/tests/api/openstack/v2/test_urlmap.py b/nova/tests/api/openstack/v2/test_urlmap.py index 61a237347..d1aa8aeef 100644 --- a/nova/tests/api/openstack/v2/test_urlmap.py +++ b/nova/tests/api/openstack/v2/test_urlmap.py @@ -29,17 +29,17 @@ class UrlmapTest(test.TestCase): fakes.stub_out_rate_limiting(self.stubs) def test_path_version_v1_1(self): - """Test URL path specifying v1.1 returns v1.1 content.""" + """Test URL path specifying v1.1 returns v2 content.""" req = webob.Request.blank('/v1.1/') req.accept = "application/json" res = req.get_response(fakes.wsgi_app()) self.assertEqual(res.status_int, 200) self.assertEqual(res.content_type, "application/json") body = json.loads(res.body) - self.assertEqual(body['version']['id'], 'v1.1') + self.assertEqual(body['version']['id'], 'v2.0') def test_content_type_version_v1_1(self): - """Test Content-Type specifying v1.1 returns v1.1 content.""" + """Test Content-Type specifying v1.1 returns v2 content.""" req = webob.Request.blank('/') req.content_type = "application/json;version=1.1" req.accept = "application/json" @@ -47,21 +47,52 @@ class UrlmapTest(test.TestCase): self.assertEqual(res.status_int, 200) self.assertEqual(res.content_type, "application/json") body = json.loads(res.body) - self.assertEqual(body['version']['id'], 'v1.1') + self.assertEqual(body['version']['id'], 'v2.0') def test_accept_version_v1_1(self): - """Test Accept header specifying v1.1 returns v1.1 content.""" + """Test Accept header specifying v1.1 returns v2 content.""" req = webob.Request.blank('/') req.accept = "application/json;version=1.1" res = req.get_response(fakes.wsgi_app()) self.assertEqual(res.status_int, 200) self.assertEqual(res.content_type, "application/json") body = json.loads(res.body) - self.assertEqual(body['version']['id'], 'v1.1') + self.assertEqual(body['version']['id'], 'v2.0') + + def test_path_version_v2(self): + """Test URL path specifying v2 returns v2 content.""" + req = webob.Request.blank('/v2/') + req.accept = "application/json" + res = req.get_response(fakes.wsgi_app()) + self.assertEqual(res.status_int, 200) + self.assertEqual(res.content_type, "application/json") + body = json.loads(res.body) + self.assertEqual(body['version']['id'], 'v2.0') + + def test_content_type_version_v2(self): + """Test Content-Type specifying v2 returns v2 content.""" + req = webob.Request.blank('/') + req.content_type = "application/json;version=2" + req.accept = "application/json" + res = req.get_response(fakes.wsgi_app()) + self.assertEqual(res.status_int, 200) + self.assertEqual(res.content_type, "application/json") + body = json.loads(res.body) + self.assertEqual(body['version']['id'], 'v2.0') + + def test_accept_version_v2(self): + """Test Accept header specifying v2 returns v2 content.""" + req = webob.Request.blank('/') + req.accept = "application/json;version=2" + res = req.get_response(fakes.wsgi_app()) + self.assertEqual(res.status_int, 200) + self.assertEqual(res.content_type, "application/json") + body = json.loads(res.body) + self.assertEqual(body['version']['id'], 'v2.0') def test_path_content_type(self): """Test URL path specifying JSON returns JSON content.""" - url = '/v1.1/foobar/images/cedef40a-ed67-4d10-800e-17455edce175.json' + url = '/v2/foobar/images/cedef40a-ed67-4d10-800e-17455edce175.json' req = webob.Request.blank(url) req.accept = "application/xml" res = req.get_response(fakes.wsgi_app()) @@ -73,7 +104,7 @@ class UrlmapTest(test.TestCase): def test_accept_content_type(self): """Test Accept header specifying JSON returns JSON content.""" - url = '/v1.1/foobar/images/cedef40a-ed67-4d10-800e-17455edce175' + url = '/v2/foobar/images/cedef40a-ed67-4d10-800e-17455edce175' req = webob.Request.blank(url) req.accept = "application/xml;q=0.8, application/json" res = req.get_response(fakes.wsgi_app()) diff --git a/nova/tests/api/openstack/v2/test_users.py b/nova/tests/api/openstack/v2/test_users.py index 454b7cae7..b6af802f8 100644 --- a/nova/tests/api/openstack/v2/test_users.py +++ b/nova/tests/api/openstack/v2/test_users.py @@ -13,10 +13,7 @@ # License for the specific language governing permissions and limitations # under the License. -import json - from lxml import etree -import webob from nova import test from nova import utils @@ -59,13 +56,13 @@ class UsersTest(test.TestCase): self.controller = users.Controller() def test_get_user_list(self): - req = fakes.HTTPRequest.blank('/v1.1/fake/users') + req = fakes.HTTPRequest.blank('/v2/fake/users') res_dict = self.controller.index(req) self.assertEqual(len(res_dict['users']), 2) def test_get_user_by_id(self): - req = fakes.HTTPRequest.blank('/v1.1/fake/users/id2') + req = fakes.HTTPRequest.blank('/v2/fake/users/id2') res_dict = self.controller.show(req, 'id2') self.assertEqual(res_dict['user']['id'], 'id2') @@ -74,8 +71,8 @@ class UsersTest(test.TestCase): self.assertEqual(res_dict['user']['admin'], True) def test_user_delete(self): - req = fakes.HTTPRequest.blank('/v1.1/fake/users/id1') - res_dict = self.controller.delete(req, 'id1') + req = fakes.HTTPRequest.blank('/v2/fake/users/id1') + self.controller.delete(req, 'id1') self.assertTrue('id1' not in [u.id for u in fakes.FakeAuthManager.auth_data]) @@ -86,7 +83,7 @@ class UsersTest(test.TestCase): access='acc3', secret=secret, admin=True)) - req = fakes.HTTPRequest.blank('/v1.1/fake/users') + req = fakes.HTTPRequest.blank('/v2/fake/users') res_dict = self.controller.create(req, body) # NOTE(justinsb): This is a questionable assertion in general @@ -107,7 +104,7 @@ class UsersTest(test.TestCase): access='acc2', secret=new_secret)) - req = fakes.HTTPRequest.blank('/v1.1/fake/users/id2') + req = fakes.HTTPRequest.blank('/v2/fake/users/id2') res_dict = self.controller.update(req, 'id2', body) self.assertEqual(res_dict['user']['id'], 'id2') diff --git a/nova/tests/api/openstack/v2/test_versions.py b/nova/tests/api/openstack/v2/test_versions.py index 392e31a46..7b2599ee3 100644 --- a/nova/tests/api/openstack/v2/test_versions.py +++ b/nova/tests/api/openstack/v2/test_versions.py @@ -24,7 +24,6 @@ import webob from nova.api.openstack.v2 import versions from nova.api.openstack.v2 import views -from nova.api.openstack import wsgi from nova.api.openstack import xmlutil from nova import context from nova import test @@ -39,8 +38,8 @@ NS = { } VERSIONS = { - "v1.1": { - "id": "v1.1", + "v2.0": { + "id": "v2.0", "status": "CURRENT", "updated": "2011-01-21T11:33:21Z", "links": [ @@ -60,11 +59,11 @@ VERSIONS = { "media-types": [ { "base": "application/xml", - "type": "application/vnd.openstack.compute+xml;version=1.1", + "type": "application/vnd.openstack.compute+xml;version=2", }, { "base": "application/json", - "type": "application/vnd.openstack.compute+json;version=1.1", + "type": "application/vnd.openstack.compute+json;version=2", }, ], }, @@ -94,28 +93,28 @@ class VersionsTest(test.TestCase): versions = json.loads(res.body)["versions"] expected = [ { - "id": "v1.1", + "id": "v2.0", "status": "CURRENT", "updated": "2011-01-21T11:33:21Z", "links": [ { "rel": "self", - "href": "http://localhost/v1.1/", + "href": "http://localhost/v2/", }], }, ] self.assertEqual(versions, expected) def test_get_version_list_302(self): - req = webob.Request.blank('/v1.1') + req = webob.Request.blank('/v2') req.accept = "application/json" res = req.get_response(fakes.wsgi_app()) self.assertEqual(res.status_int, 302) - redirect_req = webob.Request.blank('/v1.1/') + redirect_req = webob.Request.blank('/v2/') self.assertEqual(res.location, redirect_req.url) - def test_get_version_1_1_detail(self): - req = webob.Request.blank('/v1.1/') + def test_get_version_2_detail(self): + req = webob.Request.blank('/v2/') req.accept = "application/json" res = req.get_response(fakes.wsgi_app()) self.assertEqual(res.status_int, 200) @@ -123,13 +122,13 @@ class VersionsTest(test.TestCase): version = json.loads(res.body) expected = { "version": { - "id": "v1.1", + "id": "v2.0", "status": "CURRENT", "updated": "2011-01-21T11:33:21Z", "links": [ { "rel": "self", - "href": "http://localhost/v1.1/", + "href": "http://localhost/v2/", }, { "rel": "describedby", @@ -148,34 +147,34 @@ class VersionsTest(test.TestCase): { "base": "application/xml", "type": "application/" - "vnd.openstack.compute+xml;version=1.1", + "vnd.openstack.compute+xml;version=2", }, { "base": "application/json", "type": "application/" - "vnd.openstack.compute+json;version=1.1", + "vnd.openstack.compute+json;version=2", }, ], }, } self.assertEqual(expected, version) - def test_get_version_1_1_detail_content_type(self): + def test_get_version_2_detail_content_type(self): req = webob.Request.blank('/') - req.accept = "application/json;version=1.1" + req.accept = "application/json;version=2" res = req.get_response(fakes.wsgi_app()) self.assertEqual(res.status_int, 200) self.assertEqual(res.content_type, "application/json") version = json.loads(res.body) expected = { "version": { - "id": "v1.1", + "id": "v2.0", "status": "CURRENT", "updated": "2011-01-21T11:33:21Z", "links": [ { "rel": "self", - "href": "http://localhost/v1.1/", + "href": "http://localhost/v2/", }, { "rel": "describedby", @@ -194,20 +193,20 @@ class VersionsTest(test.TestCase): { "base": "application/xml", "type": "application/" - "vnd.openstack.compute+xml;version=1.1", + "vnd.openstack.compute+xml;version=2", }, { "base": "application/json", "type": "application/" - "vnd.openstack.compute+json;version=1.1", + "vnd.openstack.compute+json;version=2", }, ], }, } self.assertEqual(expected, version) - def test_get_version_1_1_detail_xml(self): - req = webob.Request.blank('/v1.1/') + def test_get_version_2_detail_xml(self): + req = webob.Request.blank('/v2/') req.accept = "application/xml" res = req.get_response(fakes.wsgi_app()) self.assertEqual(res.status_int, 200) @@ -216,7 +215,7 @@ class VersionsTest(test.TestCase): version = etree.XML(res.body) xmlutil.validate_schema(version, 'version') - expected = VERSIONS['v1.1'] + expected = VERSIONS['v2.0'] self.assertTrue(version.xpath('/ns:version', namespaces=NS)) media_types = version.xpath('ns:media-types/ns:media-type', namespaces=NS) @@ -226,7 +225,7 @@ class VersionsTest(test.TestCase): self.assertEqual(version.get(key), expected[key]) links = version.xpath('atom:link', namespaces=NS) self.assertTrue(common.compare_links(links, - [{'rel': 'self', 'href': 'http://localhost/v1.1/'}] + [{'rel': 'self', 'href': 'http://localhost/v2/'}] + expected['links'])) def test_get_version_list_xml(self): @@ -244,7 +243,7 @@ class VersionsTest(test.TestCase): versions = root.xpath('ns:version', namespaces=NS) self.assertEqual(len(versions), 1) - for i, v in enumerate(['v1.1']): + for i, v in enumerate(['v2.0']): version = versions[i] expected = VERSIONS[v] for key in ['id', 'status', 'updated']: @@ -253,8 +252,8 @@ class VersionsTest(test.TestCase): self.assertTrue(common.compare_links(link, [{'rel': 'self', 'href': 'http://localhost/%s/' % v}])) - def test_get_version_1_1_detail_atom(self): - req = webob.Request.blank('/v1.1/') + def test_get_version_2_detail_atom(self): + req = webob.Request.blank('/v2/') req.accept = "application/atom+xml" res = req.get_response(fakes.wsgi_app()) self.assertEqual(res.status_int, 200) @@ -265,23 +264,23 @@ class VersionsTest(test.TestCase): f = feedparser.parse(res.body) self.assertEqual(f.feed.title, 'About This Version') self.assertEqual(f.feed.updated, '2011-01-21T11:33:21Z') - self.assertEqual(f.feed.id, 'http://localhost/v1.1/') + self.assertEqual(f.feed.id, 'http://localhost/v2/') self.assertEqual(f.feed.author, 'Rackspace') self.assertEqual(f.feed.author_detail.href, 'http://www.rackspace.com/') - self.assertEqual(f.feed.links[0]['href'], 'http://localhost/v1.1/') + self.assertEqual(f.feed.links[0]['href'], 'http://localhost/v2/') self.assertEqual(f.feed.links[0]['rel'], 'self') self.assertEqual(len(f.entries), 1) entry = f.entries[0] - self.assertEqual(entry.id, 'http://localhost/v1.1/') - self.assertEqual(entry.title, 'Version v1.1') + self.assertEqual(entry.id, 'http://localhost/v2/') + self.assertEqual(entry.title, 'Version v2.0') self.assertEqual(entry.updated, '2011-01-21T11:33:21Z') self.assertEqual(len(entry.content), 1) self.assertEqual(entry.content[0].value, - 'Version v1.1 CURRENT (2011-01-21T11:33:21Z)') + 'Version v2.0 CURRENT (2011-01-21T11:33:21Z)') self.assertEqual(len(entry.links), 3) - self.assertEqual(entry.links[0]['href'], 'http://localhost/v1.1/') + self.assertEqual(entry.links[0]['href'], 'http://localhost/v2/') self.assertEqual(entry.links[0]['rel'], 'self') self.assertEqual(entry.links[1], { 'href': 'http://docs.rackspacecloud.com/servers/api/v1.1/'\ @@ -313,14 +312,14 @@ class VersionsTest(test.TestCase): self.assertEqual(len(f.entries), 1) entry = f.entries[0] - self.assertEqual(entry.id, 'http://localhost/v1.1/') - self.assertEqual(entry.title, 'Version v1.1') + self.assertEqual(entry.id, 'http://localhost/v2/') + self.assertEqual(entry.title, 'Version v2.0') self.assertEqual(entry.updated, '2011-01-21T11:33:21Z') self.assertEqual(len(entry.content), 1) self.assertEqual(entry.content[0].value, - 'Version v1.1 CURRENT (2011-01-21T11:33:21Z)') + 'Version v2.0 CURRENT (2011-01-21T11:33:21Z)') self.assertEqual(len(entry.links), 1) - self.assertEqual(entry.links[0]['href'], 'http://localhost/v1.1/') + self.assertEqual(entry.links[0]['href'], 'http://localhost/v2/') self.assertEqual(entry.links[0]['rel'], 'self') def test_multi_choice_image(self): @@ -333,11 +332,11 @@ class VersionsTest(test.TestCase): expected = { "choices": [ { - "id": "v1.1", + "id": "v2.0", "status": "CURRENT", "links": [ { - "href": "http://localhost/v1.1/images/1", + "href": "http://localhost/v2/images/1", "rel": "self", }, ], @@ -345,12 +344,12 @@ class VersionsTest(test.TestCase): { "base": "application/xml", "type": "application/vnd.openstack.compute+xml" - ";version=1.1" + ";version=2" }, { "base": "application/json", "type": "application/vnd.openstack.compute+json" - ";version=1.1" + ";version=2" }, ], }, @@ -371,15 +370,15 @@ class VersionsTest(test.TestCase): self.assertEqual(len(versions), 1) version = versions[0] - self.assertEqual(version.get('id'), 'v1.1') + self.assertEqual(version.get('id'), 'v2.0') self.assertEqual(version.get('status'), 'CURRENT') media_types = version.xpath('ns:media-types/ns:media-type', namespaces=NS) self.assertTrue(common.compare_media_types(media_types, - VERSIONS['v1.1']['media-types'])) + VERSIONS['v2.0']['media-types'])) links = version.xpath('atom:link', namespaces=NS) self.assertTrue(common.compare_links(links, - [{'rel': 'self', 'href': 'http://localhost/v1.1/images/1'}])) + [{'rel': 'self', 'href': 'http://localhost/v2/images/1'}])) def test_multi_choice_server_atom(self): """ @@ -403,11 +402,11 @@ class VersionsTest(test.TestCase): expected = { "choices": [ { - "id": "v1.1", + "id": "v2.0", "status": "CURRENT", "links": [ { - "href": "http://localhost/v1.1/servers/" + uuid, + "href": "http://localhost/v2/servers/" + uuid, "rel": "self", }, ], @@ -415,12 +414,12 @@ class VersionsTest(test.TestCase): { "base": "application/xml", "type": "application/vnd.openstack.compute+xml" - ";version=1.1" + ";version=2" }, { "base": "application/json", "type": "application/vnd.openstack.compute+json" - ";version=1.1" + ";version=2" }, ], }, @@ -450,7 +449,7 @@ class VersionsViewBuilderTests(test.TestCase): "links": [ { "rel": "self", - "href": "http://example.org/3.2.1/", + "href": "http://example.org/v2/", }, ], } @@ -464,12 +463,11 @@ class VersionsViewBuilderTests(test.TestCase): def test_generate_href(self): base_url = "http://example.org/app/" - version_number = "v1.4.6" - expected = "http://example.org/app/v1.4.6/" + expected = "http://example.org/app/v2/" builder = views.versions.ViewBuilder(base_url) - actual = builder.generate_href(version_number) + actual = builder.generate_href() self.assertEqual(actual, expected) @@ -479,13 +477,13 @@ class VersionsSerializerTests(test.TestCase): versions_data = { 'versions': [ { - "id": "2.7.1", + "id": "2.7", "updated": "2011-07-18T11:30:00Z", "status": "DEPRECATED", "links": [ { "rel": "self", - "href": "http://test/2.7.1", + "href": "http://test/v2", }, ], }, @@ -509,21 +507,21 @@ class VersionsSerializerTests(test.TestCase): (link,) = version.xpath('atom:link', namespaces=NS) self.assertTrue(common.compare_links(link, [{ 'rel': 'self', - 'href': 'http://test/2.7.1', + 'href': 'http://test/v2', 'type': 'application/atom+xml'}])) def test_versions_multi_xml_serializer(self): versions_data = { 'choices': [ { - "id": "2.7.1", + "id": "2.7", "updated": "2011-07-18T11:30:00Z", "status": "DEPRECATED", - "media-types": VERSIONS['v1.1']['media-types'], + "media-types": VERSIONS['v2.0']['media-types'], "links": [ { "rel": "self", - "href": "http://test/2.7.1/images", + "href": "http://test/v2/images", }, ], }, @@ -541,7 +539,6 @@ class VersionsSerializerTests(test.TestCase): versions_data['choices'][0]['status']) media_types = list(version)[0] - media_type_nodes = list(media_types) self.assertEqual(media_types.tag.split('}')[1], "media-types") media_types = version.xpath('ns:media-types/ns:media-type', @@ -598,13 +595,13 @@ class VersionsSerializerTests(test.TestCase): def test_version_detail_atom_serializer(self): versions_data = { "version": { - "id": "v1.1", + "id": "v2.0", "status": "CURRENT", "updated": "2011-01-21T11:33:21Z", "links": [ { "rel": "self", - "href": "http://localhost/v1.1/", + "href": "http://localhost/v2/", }, { "rel": "describedby", @@ -623,12 +620,12 @@ class VersionsSerializerTests(test.TestCase): { "base": "application/xml", "type": "application/vnd.openstack.compute+xml" - ";version=1.1", + ";version=2", }, { "base": "application/json", "type": "application/vnd.openstack.compute+json" - ";version=1.1", + ";version=2", } ], }, @@ -640,23 +637,23 @@ class VersionsSerializerTests(test.TestCase): self.assertEqual(f.feed.title, 'About This Version') self.assertEqual(f.feed.updated, '2011-01-21T11:33:21Z') - self.assertEqual(f.feed.id, 'http://localhost/v1.1/') + self.assertEqual(f.feed.id, 'http://localhost/v2/') self.assertEqual(f.feed.author, 'Rackspace') self.assertEqual(f.feed.author_detail.href, 'http://www.rackspace.com/') - self.assertEqual(f.feed.links[0]['href'], 'http://localhost/v1.1/') + self.assertEqual(f.feed.links[0]['href'], 'http://localhost/v2/') self.assertEqual(f.feed.links[0]['rel'], 'self') self.assertEqual(len(f.entries), 1) entry = f.entries[0] - self.assertEqual(entry.id, 'http://localhost/v1.1/') - self.assertEqual(entry.title, 'Version v1.1') + self.assertEqual(entry.id, 'http://localhost/v2/') + self.assertEqual(entry.title, 'Version v2.0') self.assertEqual(entry.updated, '2011-01-21T11:33:21Z') self.assertEqual(len(entry.content), 1) self.assertEqual(entry.content[0].value, - 'Version v1.1 CURRENT (2011-01-21T11:33:21Z)') + 'Version v2.0 CURRENT (2011-01-21T11:33:21Z)') self.assertEqual(len(entry.links), 3) - self.assertEqual(entry.links[0]['href'], 'http://localhost/v1.1/') + self.assertEqual(entry.links[0]['href'], 'http://localhost/v2/') self.assertEqual(entry.links[0]['rel'], 'self') self.assertEqual(entry.links[1], { 'rel': 'describedby', diff --git a/nova/tests/api/openstack/v2/test_zones.py b/nova/tests/api/openstack/v2/test_zones.py index 4a3e3ed47..78ad8e146 100644 --- a/nova/tests/api/openstack/v2/test_zones.py +++ b/nova/tests/api/openstack/v2/test_zones.py @@ -17,12 +17,9 @@ import json from lxml import etree -import stubout -import webob from nova.api.openstack.v2 import zones from nova.api.openstack import xmlutil -from nova import context from nova import crypto import nova.db from nova import flags @@ -112,7 +109,7 @@ class ZonesTest(test.TestCase): def test_get_zone_list_scheduler(self): self.stubs.Set(api, '_call_scheduler', zone_get_all_scheduler) - req = fakes.HTTPRequest.blank('/v1.1/fake/zones') + req = fakes.HTTPRequest.blank('/v2/fake/zones') res_dict = self.controller.index(req) self.assertEqual(len(res_dict['zones']), 2) @@ -121,13 +118,13 @@ class ZonesTest(test.TestCase): self.stubs.Set(api, '_call_scheduler', zone_get_all_scheduler_empty) self.stubs.Set(nova.db, 'zone_get_all', zone_get_all_db) - req = fakes.HTTPRequest.blank('/v1.1/fake/zones') + req = fakes.HTTPRequest.blank('/v2/fake/zones') res_dict = self.controller.index(req) self.assertEqual(len(res_dict['zones']), 2) def test_get_zone_by_id(self): - req = fakes.HTTPRequest.blank('/v1.1/fake/zones/1') + req = fakes.HTTPRequest.blank('/v2/fake/zones/1') res_dict = self.controller.show(req, 1) self.assertEqual(res_dict['zone']['id'], 1) @@ -135,14 +132,14 @@ class ZonesTest(test.TestCase): self.assertFalse('password' in res_dict['zone']) def test_zone_delete(self): - req = fakes.HTTPRequest.blank('/v1.1/fake/zones/1') + req = fakes.HTTPRequest.blank('/v2/fake/zones/1') self.controller.delete(req, 1) def test_zone_create(self): body = dict(zone=dict(api_url='http://example.com', username='fred', password='fubar')) - req = fakes.HTTPRequest.blank('/v1.1/fake/zones') + req = fakes.HTTPRequest.blank('/v2/fake/zones') res_dict = self.controller.create(req, body) self.assertEqual(res_dict['zone']['id'], 1) @@ -152,7 +149,7 @@ class ZonesTest(test.TestCase): def test_zone_update(self): body = dict(zone=dict(username='zeb', password='sneaky')) - req = fakes.HTTPRequest.blank('/v1.1/fake/zones/1') + req = fakes.HTTPRequest.blank('/v2/fake/zones/1') res_dict = self.controller.update(req, 1, body) self.assertEqual(res_dict['zone']['id'], 1) @@ -164,7 +161,7 @@ class ZonesTest(test.TestCase): self.flags(zone_name='darksecret', zone_capabilities=caps) self.stubs.Set(api, '_call_scheduler', zone_capabilities) - req = fakes.HTTPRequest.blank('/v1.1/fake/zones/info') + req = fakes.HTTPRequest.blank('/v2/fake/zones/info') res_dict = self.controller.info(req) self.assertEqual(res_dict['zone']['name'], 'darksecret') @@ -180,7 +177,7 @@ class ZonesTest(test.TestCase): # Once to a string and again as an HTTP POST Body body = json.dumps({}) - req = fakes.HTTPRequest.blank('/v1.1/fake/zones/select') + req = fakes.HTTPRequest.blank('/v2/fake/zones/select') res_dict = self.controller.select(req, body) self.assertTrue('weights' in res_dict) diff --git a/nova/tests/integrated/integrated_helpers.py b/nova/tests/integrated/integrated_helpers.py index f9e1c76c4..b18d24bd4 100644 --- a/nova/tests/integrated/integrated_helpers.py +++ b/nova/tests/integrated/integrated_helpers.py @@ -83,7 +83,7 @@ class _IntegratedTestBase(test.TestCase): def _start_api_service(self): osapi = service.WSGIService("osapi") osapi.start() - self.auth_url = 'http://%s:%s/v1.1' % (osapi.host, osapi.port) + self.auth_url = 'http://%s:%s/v2' % (osapi.host, osapi.port) LOG.warn(self.auth_url) def _get_flags(self): |
