Merge "Fixes internal server error for add/remove tenant flavor access request"
This commit is contained in:
commit
d0ebe10d2d
|
@ -165,7 +165,10 @@ class FlavorActionController(wsgi.Controller):
|
|||
self._check_body(body)
|
||||
|
||||
vals = body['addTenantAccess']
|
||||
tenant = vals['tenant']
|
||||
tenant = vals.get('tenant')
|
||||
if not tenant:
|
||||
msg = _("Missing tenant parameter")
|
||||
raise webob.exc.HTTPBadRequest(explanation=msg)
|
||||
|
||||
flavor = objects.Flavor(context=context, flavorid=id)
|
||||
try:
|
||||
|
@ -186,7 +189,10 @@ class FlavorActionController(wsgi.Controller):
|
|||
self._check_body(body)
|
||||
|
||||
vals = body['removeTenantAccess']
|
||||
tenant = vals['tenant']
|
||||
tenant = vals.get('tenant')
|
||||
if not tenant:
|
||||
msg = _("Missing tenant parameter")
|
||||
raise webob.exc.HTTPBadRequest(explanation=msg)
|
||||
|
||||
flavor = objects.Flavor(context=context, flavorid=id)
|
||||
try:
|
||||
|
|
|
@ -285,6 +285,18 @@ class FlavorAccessTest(test.NoDBTestCase):
|
|||
self.flavor_action_controller._addTenantAccess,
|
||||
req, '2', body)
|
||||
|
||||
def test_add_tenant_access_with_no_tenant(self):
|
||||
req = fakes.HTTPRequest.blank('/v2/fake/flavors/2/action',
|
||||
use_admin_context=True)
|
||||
body = {'addTenantAccess': {'foo': 'proj2'}}
|
||||
self.assertRaises(exc.HTTPBadRequest,
|
||||
self.flavor_action_controller._addTenantAccess,
|
||||
req, '2', body)
|
||||
body = {'addTenantAccess': {'tenant': ''}}
|
||||
self.assertRaises(exc.HTTPBadRequest,
|
||||
self.flavor_action_controller._addTenantAccess,
|
||||
req, '2', body)
|
||||
|
||||
def test_add_tenant_access_with_already_added_access(self):
|
||||
def stub_add_flavor_access(context, flavorid, projectid):
|
||||
raise exception.FlavorAccessExists(flavor_id=flavorid,
|
||||
|
@ -307,6 +319,18 @@ class FlavorAccessTest(test.NoDBTestCase):
|
|||
self.flavor_action_controller._removeTenantAccess,
|
||||
self.req, '3', body)
|
||||
|
||||
def test_delete_tenant_access_with_no_tenant(self):
|
||||
req = fakes.HTTPRequest.blank('/v2/fake/flavors/2/action',
|
||||
use_admin_context=True)
|
||||
body = {'removeTenantAccess': {'foo': 'proj2'}}
|
||||
self.assertRaises(exc.HTTPBadRequest,
|
||||
self.flavor_action_controller._removeTenantAccess,
|
||||
req, '2', body)
|
||||
body = {'removeTenantAccess': {'tenant': ''}}
|
||||
self.assertRaises(exc.HTTPBadRequest,
|
||||
self.flavor_action_controller._removeTenantAccess,
|
||||
req, '2', body)
|
||||
|
||||
def test_remove_tenant_access_with_no_admin_user(self):
|
||||
req = fakes.HTTPRequest.blank('/v2/fake/flavors/2/action',
|
||||
use_admin_context=False)
|
||||
|
|
Loading…
Reference in New Issue