diff options
| author | Jenkins <jenkins@review.openstack.org> | 2015-04-16 18:24:13 +0000 |
|---|---|---|
| committer | Gerrit Code Review <review@openstack.org> | 2015-04-16 18:24:13 +0000 |
| commit | 8bc06eb694933c91fb0a413332dddb5d0b5edef5 (patch) | |
| tree | 394be0466d65863bf11f2829d2127e4eedd02007 | |
| parent | 62e3573fceb6c6120d8c14a761927c2979d9c132 (diff) | |
| parent | 16880fcaebb9a950c7ad7ca17ff87b000645f2ac (diff) | |
| download | python-ceilometerclient-8bc06eb694933c91fb0a413332dddb5d0b5edef5.tar.gz | |
Merge "print user friendly error message for alarm update time constraints"
| -rw-r--r-- | ceilometerclient/tests/unit/v2/test_alarms.py | 17 | ||||
| -rw-r--r-- | ceilometerclient/v2/alarms.py | 5 |
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 |
