Fix 500 error for showing deleted flavor details
Displaying deleted flavor details throws 500 internal server error. Added 404 HttpNotFound status code in "@extension.expected_errors". APIImpact: Return 404 status code for list extra specs for a deleted flavor. Closes-Bug: #1538896 Change-Id: Iba33296c28c3c3d6ba60052fe434107ac9c00c61
This commit is contained in:
parent
d98ec2e4b7
commit
4184f98501
|
@ -52,7 +52,7 @@ class FlavorExtraSpecsController(wsgi.Controller):
|
||||||
raise webob.exc.HTTPBadRequest(
|
raise webob.exc.HTTPBadRequest(
|
||||||
explanation=error.format_message())
|
explanation=error.format_message())
|
||||||
|
|
||||||
@extensions.expected_errors(())
|
@extensions.expected_errors(404)
|
||||||
def index(self, req, flavor_id):
|
def index(self, req, flavor_id):
|
||||||
"""Returns the list of extra specs for a given flavor."""
|
"""Returns the list of extra specs for a given flavor."""
|
||||||
context = req.environ['nova.context']
|
context = req.environ['nova.context']
|
||||||
|
|
|
@ -90,6 +90,14 @@ class FlavorsExtraSpecsTestV21(test.TestCase):
|
||||||
|
|
||||||
self.assertEqual(0, len(res_dict['extra_specs']))
|
self.assertEqual(0, len(res_dict['extra_specs']))
|
||||||
|
|
||||||
|
def test_index_flavor_not_found(self):
|
||||||
|
req = self._get_request('1/os-extra_specs',
|
||||||
|
use_admin_context=True)
|
||||||
|
with mock.patch('nova.db.flavor_get_by_flavor_id') as mock_get:
|
||||||
|
mock_get.side_effect = exception.FlavorNotFound(flavor_id='1')
|
||||||
|
self.assertRaises(webob.exc.HTTPNotFound, self.controller.index,
|
||||||
|
req, 1)
|
||||||
|
|
||||||
def test_show(self):
|
def test_show(self):
|
||||||
flavor = dict(test_flavor.fake_flavor,
|
flavor = dict(test_flavor.fake_flavor,
|
||||||
extra_specs={'key5': 'value5'})
|
extra_specs={'key5': 'value5'})
|
||||||
|
|
Loading…
Reference in New Issue