Handle EVENT_STATE_CHANGED with no new_state in graphite

I noticed some events that came in with new_state=None. Make graphite
defensive about this.
This commit is contained in:
Dan Smith 2016-02-14 15:57:03 -08:00
parent 366595fd90
commit 3610f40a6a
2 changed files with 3 additions and 2 deletions

View file

@ -110,7 +110,7 @@ class GraphiteFeeder(threading.Thread):
self._queue.task_done()
return
elif (event.event_type == EVENT_STATE_CHANGED and
'new_state' in event.data):
event.data.get('new_state')):
self._report_attributes(event.data['entity_id'],
event.data['new_state'])
self._queue.task_done()

View file

@ -171,7 +171,8 @@ class TestGraphite(unittest.TestCase):
return self.gf._quit_object
elif runs:
runs.append(1)
return mock.MagicMock(event_type='somethingelse')
return mock.MagicMock(event_type='somethingelse',
data={'new_event': None})
else:
runs.append(1)
return event