Fixed endpoint required parameters
Problem: Received HTTP 500 Internal Server Error when using PATCH or PUT in query without specifying alarm definition id. Solution: Modified on_patch() and on_put() so that if alarm definition id is not specified, query response will be HTTP 422 Unprocessible Entity. Change-Id: I0a212f09cb76d1b4db6f129fe9ca94ec1fc274df
This commit is contained in:
parent
0a3c219a5c
commit
3cfe84051c
|
@ -414,6 +414,26 @@ class TestAlarmDefinition(AlarmTestBase):
|
|||
result_def = json.loads(result[0])
|
||||
self.assertEqual(result_def, expected_def)
|
||||
|
||||
def test_alarm_definition_patch_no_id(self):
|
||||
alarm_def = {
|
||||
u'name': u'Test Alarm Definition Updated',
|
||||
}
|
||||
|
||||
self.simulate_request("/v2.0/alarm-definitions/", headers={'X-Roles': 'admin', 'X-Tenant-Id': TENANT_ID},
|
||||
method="PATCH", body=json.dumps(alarm_def))
|
||||
|
||||
self.assertEqual(self.srmock.status, falcon.HTTP_422)
|
||||
|
||||
def test_alarm_definition_update_no_id(self):
|
||||
alarm_def = {
|
||||
u'name': u'Test Alarm Definition Updated',
|
||||
}
|
||||
|
||||
self.simulate_request("/v2.0/alarm-definitions/", headers={'X-Roles': 'admin', 'X-Tenant-Id': TENANT_ID},
|
||||
method="PUT", body=json.dumps(alarm_def))
|
||||
|
||||
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'
|
||||
|
|
|
@ -131,7 +131,11 @@ class AlarmDefinitions(alarm_definitions_api_v2.AlarmDefinitionsV2API,
|
|||
res.status = falcon.HTTP_200
|
||||
|
||||
@resource.resource_try_catch_block
|
||||
def on_put(self, req, res, alarm_definition_id):
|
||||
def on_put(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)
|
||||
|
||||
|
@ -169,7 +173,11 @@ class AlarmDefinitions(alarm_definitions_api_v2.AlarmDefinitionsV2API,
|
|||
res.status = falcon.HTTP_200
|
||||
|
||||
@resource.resource_try_catch_block
|
||||
def on_patch(self, req, res, alarm_definition_id):
|
||||
def on_patch(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)
|
||||
|
||||
|
|
Loading…
Reference in New Issue