Fix consisgroup V3 interfaces
The consisgroup list/show etc interfaces are blocked in V3 API, this patch is to fix it. Change-Id: I428a661a12d1020ed844f55021a94bbf61c79169 Closes-Bug: #1597223
This commit is contained in:
parent
6f2112caa8
commit
1a0dd6be5a
|
@ -104,4 +104,5 @@ class APIRouter(cinder.api.openstack.APIRouter):
|
|||
consistencygroups.create_resource())
|
||||
mapper.resource("consistencygroup", "consistencygroups",
|
||||
controller=self.resources['consistencygroups'],
|
||||
member={'update': 'PUT'})
|
||||
collection={'detail': 'GET'},
|
||||
member={'action': 'POST'})
|
||||
|
|
|
@ -137,12 +137,16 @@ class ConsistencyGroupsAPITestCase(test.TestCase):
|
|||
|
||||
consistencygroup.destroy()
|
||||
|
||||
def test_list_consistencygroups_json(self):
|
||||
@ddt.data(2, 3)
|
||||
def test_list_consistencygroups_json(self, version):
|
||||
consistencygroup1 = self._create_consistencygroup()
|
||||
consistencygroup2 = self._create_consistencygroup()
|
||||
consistencygroup3 = self._create_consistencygroup()
|
||||
|
||||
req = webob.Request.blank('/v2/%s/consistencygroups' % fake.PROJECT_ID)
|
||||
req = webob.Request.blank('/v%(version)s/%(project_id)s/'
|
||||
'consistencygroups'
|
||||
% {'version': version,
|
||||
'project_id': fake.PROJECT_ID})
|
||||
req.method = 'GET'
|
||||
req.headers['Content-Type'] = 'application/json'
|
||||
res = req.get_response(fakes.wsgi_app(
|
||||
|
|
|
@ -29,6 +29,7 @@ from cinder.api.openstack import wsgi as os_wsgi
|
|||
from cinder.api import urlmap
|
||||
from cinder.api.v2 import limits
|
||||
from cinder.api.v2 import router
|
||||
from cinder.api.v3 import router as router_v3
|
||||
from cinder.api import versions
|
||||
from cinder import context
|
||||
from cinder.tests.unit import fake_constants as fake
|
||||
|
@ -60,10 +61,14 @@ def fake_wsgi(self, req):
|
|||
|
||||
|
||||
def wsgi_app(inner_app_v2=None, fake_auth=True, fake_auth_context=None,
|
||||
use_no_auth=False, ext_mgr=None):
|
||||
use_no_auth=False, ext_mgr=None,
|
||||
inner_app_v3=None):
|
||||
if not inner_app_v2:
|
||||
inner_app_v2 = router.APIRouter(ext_mgr)
|
||||
|
||||
if not inner_app_v3:
|
||||
inner_app_v3 = router_v3.APIRouter(ext_mgr)
|
||||
|
||||
if fake_auth:
|
||||
if fake_auth_context is not None:
|
||||
ctxt = fake_auth_context
|
||||
|
@ -72,15 +77,22 @@ def wsgi_app(inner_app_v2=None, fake_auth=True, fake_auth_context=None,
|
|||
auth_token=True)
|
||||
api_v2 = fault.FaultWrapper(auth.InjectContext(ctxt,
|
||||
inner_app_v2))
|
||||
api_v3 = fault.FaultWrapper(auth.InjectContext(ctxt,
|
||||
inner_app_v3))
|
||||
elif use_no_auth:
|
||||
api_v2 = fault.FaultWrapper(auth.NoAuthMiddleware(
|
||||
limits.RateLimitingMiddleware(inner_app_v2)))
|
||||
api_v3 = fault.FaultWrapper(auth.NoAuthMiddleware(
|
||||
limits.RateLimitingMiddleware(inner_app_v3)))
|
||||
else:
|
||||
api_v2 = fault.FaultWrapper(auth.AuthMiddleware(
|
||||
limits.RateLimitingMiddleware(inner_app_v2)))
|
||||
api_v3 = fault.FaultWrapper(auth.AuthMiddleware(
|
||||
limits.RateLimitingMiddleware(inner_app_v3)))
|
||||
|
||||
mapper = urlmap.URLMap()
|
||||
mapper['/v2'] = api_v2
|
||||
mapper['/v3'] = api_v3
|
||||
mapper['/'] = fault.FaultWrapper(versions.VersionsController())
|
||||
return mapper
|
||||
|
||||
|
|
Loading…
Reference in New Issue