Merge "Reveal v2 API as v2.0 in versions response"

This commit is contained in:
Jenkins
2012-08-12 05:23:57 +00:00
committed by Gerrit Code Review
4 changed files with 19 additions and 4 deletions

View File

@@ -79,7 +79,7 @@ class VersionNegotiationFilter(wsgi.Middleware):
""" """
if subject in ('v1', 'v1.0', 'v1.1'): if subject in ('v1', 'v1.0', 'v1.1'):
major_version = 1 major_version = 1
elif subject == 'v2': elif subject in ('v2', 'v2.0'):
major_version = 2 major_version = 2
else: else:
raise ValueError() raise ValueError()

View File

@@ -42,7 +42,7 @@ class Controller(object):
} }
version_objs = [ version_objs = [
build_version_object(2, 'v2', 'EXPERIMENTAL'), build_version_object(2.0, 'v2', 'EXPERIMENTAL'),
build_version_object(1.1, 'v1', 'CURRENT'), build_version_object(1.1, 'v1', 'CURRENT'),
build_version_object(1.0, 'v1', 'SUPPORTED'), build_version_object(1.0, 'v1', 'SUPPORTED'),
] ]

View File

@@ -34,7 +34,7 @@ class TestRootApi(functional.FunctionalTest):
url = 'http://127.0.0.1:%d/v%%s/' % self.api_port url = 'http://127.0.0.1:%d/v%%s/' % self.api_port
versions = {'versions': [ versions = {'versions': [
{ {
'id': 'v2', 'id': 'v2.0',
'status': 'EXPERIMENTAL', 'status': 'EXPERIMENTAL',
'links': [{'rel': 'self', 'href': url % '2'}], 'links': [{'rel': 'self', 'href': url % '2'}],
}, },

View File

@@ -38,7 +38,7 @@ class VersionsTest(base.IsolatedUnitTest):
results = json.loads(res.body)['versions'] results = json.loads(res.body)['versions']
expected = [ expected = [
{ {
'id': 'v2', 'id': 'v2.0',
'status': 'EXPERIMENTAL', 'status': 'EXPERIMENTAL',
'links': [{'rel': 'self', 'links': [{'rel': 'self',
'href': 'http://127.0.0.1:9292/v2/'}], 'href': 'http://127.0.0.1:9292/v2/'}],
@@ -90,3 +90,18 @@ class VersionNegotiationTest(base.IsolatedUnitTest):
request = webob.Request.blank('/v2/images') request = webob.Request.blank('/v2/images')
self.middleware.process_request(request) self.middleware.process_request(request)
self.assertEqual('/v2/images', request.path_info) self.assertEqual('/v2/images', request.path_info)
def test_request_url_v2_0(self):
request = webob.Request.blank('/v2.0/images')
self.middleware.process_request(request)
self.assertEqual('/v2/images', request.path_info)
def test_request_url_v2_1_unsupported(self):
request = webob.Request.blank('/v2.1/images')
resp = self.middleware.process_request(request)
self.assertTrue(isinstance(resp, versions.Controller))
def test_request_url_v3_unsupported(self):
request = webob.Request.blank('/v3/images')
resp = self.middleware.process_request(request)
self.assertTrue(isinstance(resp, versions.Controller))