Merge "Display unique metric names for alarm"
This commit is contained in:
commit
34043c21dc
@ -66,14 +66,9 @@ def show_alarm_id(data):
|
||||
return data['id']
|
||||
|
||||
|
||||
def show_metric_name(data):
|
||||
if len(data['metrics']) > 1:
|
||||
names = []
|
||||
for metric in data['metrics']:
|
||||
names.append(metric['name'])
|
||||
return ', '.join(['%s' % (n) for n in names])
|
||||
else:
|
||||
return data['metrics'][0]['name']
|
||||
def show_metric_names(data):
|
||||
names = set(metric['name'] for metric in data['metrics'])
|
||||
return ', '.join(names)
|
||||
|
||||
|
||||
def show_def_name(data):
|
||||
@ -248,8 +243,8 @@ class AlarmsTable(tables.DataTable):
|
||||
filters=[show_status, template.defaultfilters.safe])
|
||||
name = tables.Column(transform=show_def_name, verbose_name=_('Name'))
|
||||
alarmId = tables.Column(transform=show_alarm_id, verbose_name=_('Alarm Id'))
|
||||
metrics = tables.Column(transform=show_metric_name,
|
||||
verbose_name=_('Metric Name'))
|
||||
metrics = tables.Column(transform=show_metric_names,
|
||||
verbose_name=_('Metric Names'))
|
||||
dimensions = tables.Column(transform=show_metric_dimensions,
|
||||
verbose_name=_('Metric Dimensions'))
|
||||
|
||||
|
@ -15,6 +15,7 @@ from mock import patch, call # noqa
|
||||
|
||||
from monitoring.test import helpers
|
||||
from monitoring.alarms import constants
|
||||
from monitoring.alarms import tables
|
||||
|
||||
|
||||
INDEX_URL = urlresolvers.reverse(
|
||||
@ -48,3 +49,20 @@ class AlarmsTest(helpers.TestCase):
|
||||
|
||||
self.assertTemplateUsed(
|
||||
res, 'monitoring/alarms/alarm.html')
|
||||
|
||||
def test_metric_conversion_single(self):
|
||||
res = tables.show_metric_names({"metrics": [{"name": "mem.used_bytes"}]})
|
||||
self.assertEqual(res, "mem.used_bytes")
|
||||
|
||||
def test_metric_conversion_multiple(self):
|
||||
res = tables.show_metric_names({"metrics": [{"name": "mem.used_bytes"},
|
||||
{"name": "mem.total_bytes"}]})
|
||||
table_res = res.split(', ')
|
||||
self.assertEqual(len(table_res), 2)
|
||||
self.assertTrue("mem.used_bytes" in table_res)
|
||||
self.assertTrue("mem.total_bytes" in table_res)
|
||||
|
||||
def test_metric_conversion_unique(self):
|
||||
res = tables.show_metric_names({"metrics": [{"name": "mem.used_bytes"},
|
||||
{"name": "mem.used_bytes"}]})
|
||||
self.assertEqual(res, "mem.used_bytes")
|
||||
|
Loading…
x
Reference in New Issue
Block a user