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
commit 9b98df52fe
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'):
major_version = 1
elif subject == 'v2':
elif subject in ('v2', 'v2.0'):
major_version = 2
else:
raise ValueError()

View File

@ -42,7 +42,7 @@ class Controller(object):
}
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.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
versions = {'versions': [
{
'id': 'v2',
'id': 'v2.0',
'status': 'EXPERIMENTAL',
'links': [{'rel': 'self', 'href': url % '2'}],
},

View File

@ -38,7 +38,7 @@ class VersionsTest(base.IsolatedUnitTest):
results = json.loads(res.body)['versions']
expected = [
{
'id': 'v2',
'id': 'v2.0',
'status': 'EXPERIMENTAL',
'links': [{'rel': 'self',
'href': 'http://127.0.0.1:9292/v2/'}],
@ -90,3 +90,18 @@ class VersionNegotiationTest(base.IsolatedUnitTest):
request = webob.Request.blank('/v2/images')
self.middleware.process_request(request)
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))