diff --git a/tempest/api/telemetry/test_telemetry_alarming_api.py b/tempest/api/telemetry/test_telemetry_alarming_api.py index 13da9cb343..6c84b9808e 100644 --- a/tempest/api/telemetry/test_telemetry_alarming_api.py +++ b/tempest/api/telemetry/test_telemetry_alarming_api.py @@ -56,18 +56,24 @@ class TelemetryAlarmingAPITestJSON(base.BaseTelemetryTest): 'comparison_operator': 'eq', 'threshold': 70.0, 'period': 60} - alarm_name = data_utils.rand_name('telemetry-alarm-update') + alarm_name_updated = data_utils.rand_name('telemetry-alarm-update') body = self.telemetry_client.update_alarm( alarm_id, threshold_rule=new_rule, - name=alarm_name, + name=alarm_name_updated, type='threshold') - self.assertEqual(alarm_name, body['name']) + self.assertEqual(alarm_name_updated, body['name']) self.assertDictContainsSubset(new_rule, body['threshold_rule']) # Get and verify details of an alarm after update body = self.telemetry_client.show_alarm(alarm_id) - self.assertEqual(alarm_name, body['name']) + self.assertEqual(alarm_name_updated, body['name']) self.assertDictContainsSubset(new_rule, body['threshold_rule']) + # Get history for the alarm and verify the same + body = self.telemetry_client.show_alarm_history(alarm_id) + self.assertEqual("rule change", body[0]['type']) + self.assertIn(alarm_name_updated, body[0]['detail']) + self.assertEqual("creation", body[1]['type']) + self.assertIn(alarm_name, body[1]['detail']) # Delete alarm and verify if deleted self.telemetry_client.delete_alarm(alarm_id) self.assertRaises(lib_exc.NotFound, diff --git a/tempest/services/telemetry/json/telemetry_client.py b/tempest/services/telemetry/json/telemetry_client.py index 1f181e3a66..fc8951eed9 100644 --- a/tempest/services/telemetry/json/telemetry_client.py +++ b/tempest/services/telemetry/json/telemetry_client.py @@ -140,3 +140,10 @@ class TelemetryClient(service_client.ServiceClient): self.expected_success(200, resp.status) body = self.deserialize(body) return service_client.ResponseBodyData(resp, body) + + def show_alarm_history(self, alarm_id): + uri = "%s/alarms/%s/history" % (self.uri_prefix, alarm_id) + resp, body = self.get(uri) + self.expected_success(200, resp.status) + body = self.deserialize(body) + return service_client.ResponseBodyList(resp, body)