Fixed endpoint required parameters for DELETE
Problem: Received HTTP 500 Internal Server Error when using DELETE in query without specifying alarm definition id. Solution: Modified on_delete() so that if alarm definition id is not specified, query response will be HTTP 422 Unprocessible Entity. Change-Id: Ie4518cb5a082211190f0364673944ecfca43948e
This commit is contained in:
parent
bd3b02cb62
commit
fcd02568ef
|
@ -434,6 +434,13 @@ class TestAlarmDefinition(AlarmTestBase):
|
|||
|
||||
self.assertEqual(self.srmock.status, falcon.HTTP_422)
|
||||
|
||||
def test_alarm_definition_delete_no_id(self):
|
||||
|
||||
self.simulate_request("/v2.0/alarm-definitions/", headers={'X-Roles': 'admin', 'X-Tenant-Id': TENANT_ID},
|
||||
method="DELETE")
|
||||
|
||||
self.assertEqual(self.srmock.status, falcon.HTTP_422)
|
||||
|
||||
def test_alarm_definition_patch(self):
|
||||
self.alarm_def_repo_mock.return_value.get_alarm_definitions.return_value = []
|
||||
description = u'Non-ASCII character: \u2603'
|
||||
|
|
|
@ -222,7 +222,11 @@ class AlarmDefinitions(alarm_definitions_api_v2.AlarmDefinitionsV2API,
|
|||
res.status = falcon.HTTP_200
|
||||
|
||||
@resource.resource_try_catch_block
|
||||
def on_delete(self, req, res, alarm_definition_id):
|
||||
def on_delete(self, req, res, alarm_definition_id=None):
|
||||
|
||||
if not alarm_definition_id:
|
||||
raise HTTPUnprocessableEntityError('Unprocessable Entity',
|
||||
'Alarm definition ID not provided')
|
||||
|
||||
helpers.validate_authorization(req, self._default_authorized_roles)
|
||||
self._alarm_definition_delete(req.project_id, alarm_definition_id)
|
||||
|
|
Loading…
Reference in New Issue