summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2015-04-16 18:24:13 +0000
committerGerrit Code Review <review@openstack.org>2015-04-16 18:24:13 +0000
commit8bc06eb694933c91fb0a413332dddb5d0b5edef5 (patch)
tree394be0466d65863bf11f2829d2127e4eedd02007
parent62e3573fceb6c6120d8c14a761927c2979d9c132 (diff)
parent16880fcaebb9a950c7ad7ca17ff87b000645f2ac (diff)
downloadpython-ceilometerclient-8bc06eb694933c91fb0a413332dddb5d0b5edef5.tar.gz
Merge "print user friendly error message for alarm update time constraints"
-rw-r--r--ceilometerclient/tests/unit/v2/test_alarms.py17
-rw-r--r--ceilometerclient/v2/alarms.py5
2 files changed, 20 insertions, 2 deletions
diff --git a/ceilometerclient/tests/unit/v2/test_alarms.py b/ceilometerclient/tests/unit/v2/test_alarms.py
index 4239d2f..9d3b75e 100644
--- a/ceilometerclient/tests/unit/v2/test_alarms.py
+++ b/ceilometerclient/tests/unit/v2/test_alarms.py
@@ -529,6 +529,23 @@ class AlarmTimeConstraintTest(testtools.TestCase):
]
self.http_client.assert_called(*expect)
+ def test_update_time_constraint_no_name(self):
+ updated_constraint = {
+ 'start': '0 23 * * *',
+ 'duration': 500
+ }
+ kwargs = dict(time_constraints=[updated_constraint])
+ self.mgr.update(alarm_id='alarm-id', **kwargs)
+ body = copy.deepcopy(AN_ALARM)
+ body[u'time_constraints'].append({
+ 'start': '0 23 * * *',
+ 'duration': 500,
+ })
+ expect = [
+ 'PUT', '/v2/alarms/alarm-id', body
+ ]
+ self.http_client.assert_called(*expect)
+
def test_remove(self):
kwargs = dict(remove_time_constraints=['cons2'])
self.mgr.update(alarm_id='alarm-id', **kwargs)
diff --git a/ceilometerclient/v2/alarms.py b/ceilometerclient/v2/alarms.py
index 18cdbb0..a54183a 100644
--- a/ceilometerclient/v2/alarms.py
+++ b/ceilometerclient/v2/alarms.py
@@ -135,14 +135,15 @@ class AlarmManager(base.Manager):
updated_tcs = [dict(tc) for tc in existing_tcs]
for tc in new_tcs:
for i, old_tc in enumerate(updated_tcs):
- if old_tc['name'] == tc['name']: # if names match, merge
+ # if names match, merge
+ if old_tc['name'] == tc.get('name'):
utils.merge_nested_dict(updated_tcs[i], tc)
break
else:
updated_tcs.append(tc)
tcs_to_remove = kwargs.get('remove_time_constraints', [])
for tc in updated_tcs:
- if tc['name'] in tcs_to_remove:
+ if tc.get('name') in tcs_to_remove:
updated_tcs.remove(tc)
return updated_tcs