Merge "Reveal v2 API as v2.0 in versions response"
This commit is contained in:
@@ -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()
|
||||||
|
@@ -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'),
|
||||||
]
|
]
|
||||||
|
@@ -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'}],
|
||||||
},
|
},
|
||||||
|
@@ -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))
|
||||||
|
Reference in New Issue
Block a user