Merge "Incorrect exception caught in qos-specs create api"
This commit is contained in:
commit
bca259fb55
|
@ -139,7 +139,7 @@ class QoSSpecsController(wsgi.Controller):
|
|||
rpc.get_notifier('QoSSpecs').info(context,
|
||||
'qos_specs.create',
|
||||
notifier_info)
|
||||
except exception.InvalidInput as err:
|
||||
except exception.InvalidQoSSpecs as err:
|
||||
notifier_err = dict(name=name, error_message=err)
|
||||
self._notify_qos_specs_error(context,
|
||||
'qos_specs.create',
|
||||
|
|
|
@ -95,6 +95,8 @@ def return_qos_specs_create(context, name, specs):
|
|||
raise exception.QoSSpecsExists(specs_id=name)
|
||||
elif name == "555":
|
||||
raise exception.QoSSpecsCreateFailed(name=id, qos_specs=specs)
|
||||
elif name == "444":
|
||||
raise exception.InvalidQoSSpecs(reason=name)
|
||||
pass
|
||||
|
||||
|
||||
|
@ -289,6 +291,19 @@ class QoSSpecManageApiTest(test.TestCase):
|
|||
self.assertEqual(1, notifier.get_notification_count())
|
||||
self.assertEqual('qos_specs_1', res_dict['qos_specs']['name'])
|
||||
|
||||
@mock.patch('cinder.volume.qos_specs.create',
|
||||
side_effect=return_qos_specs_create)
|
||||
def test_create_invalid_input(self, mock_qos_get_specs):
|
||||
body = {"qos_specs": {"name": "444",
|
||||
"consumer": "invalid_consumer"}}
|
||||
req = fakes.HTTPRequest.blank('/v2/fake/qos-specs')
|
||||
|
||||
notifier = fake_notifier.get_fake_notifier()
|
||||
with mock.patch('cinder.rpc.get_notifier', return_value=notifier):
|
||||
self.assertRaises(webob.exc.HTTPBadRequest,
|
||||
self.controller.create, req, body)
|
||||
self.assertEqual(1, notifier.get_notification_count())
|
||||
|
||||
@mock.patch('cinder.volume.qos_specs.create',
|
||||
side_effect=return_qos_specs_create)
|
||||
@mock.patch('cinder.volume.qos_specs.get_qos_specs_by_name',
|
||||
|
|
Loading…
Reference in New Issue