def test_store_raw_info_only_no_case(self): self.CONF.set_override('store_raw', ['INFO'], group='event') c = converter.NotificationEventsConverter( self.CONF, [], self.fake_plugin_mgr) self.assertTrue(self._convert_message(c, 'info').raw) self.assertFalse(self._convert_message(c, 'error').raw)
def test_store_raw_bad_and_good(self): self.CONF.set_override('store_raw', ['info', 'unknown'], group='event') c = converter.NotificationEventsConverter( self.CONF, [], self.fake_plugin_mgr) self.assertTrue(self._convert_message(c, 'info').raw) self.assertFalse(self._convert_message(c, 'error').raw)
def test_converter_empty_cfg_without_catchall(self): c = converter.NotificationEventsConverter([], self.fake_plugin_mgr, add_catchall=False) self.assertEqual(0, len(c.definitions)) e = c.to_event(self.test_notification1) self.assertIsNotValidEvent(e, self.test_notification1) e = c.to_event(self.test_notification2) self.assertIsNotValidEvent(e, self.test_notification2)
def test_converter_empty_cfg_without_catchall(self): self.CONF.set_override('drop_unmatched_notifications', True, group='event') c = converter.NotificationEventsConverter( self.CONF, [], self.fake_plugin_mgr) self.assertEqual(0, len(c.definitions)) e = c.to_event('INFO', self.test_notification1) self.assertIsNotValidEvent(e, self.test_notification1) e = c.to_event('INFO', self.test_notification2) self.assertIsNotValidEvent(e, self.test_notification2)
def test_converter_empty_cfg_with_catchall(self): c = converter.NotificationEventsConverter([], self.fake_plugin_mgr, add_catchall=True) self.assertEqual(1, len(c.definitions)) e = c.to_event(self.test_notification1) self.assertIsValidEvent(e, self.test_notification1) self.assertEqual(1, len(e.traits)) self.assertHasDefaultTraits(e) e = c.to_event(self.test_notification2) self.assertIsValidEvent(e, self.test_notification2) self.assertEqual(1, len(e.traits)) self.assertHasDefaultTraits(e)
def test_converter_without_catchall(self): c = converter.NotificationEventsConverter(self.valid_event_def1, self.fake_plugin_mgr, add_catchall=False) self.assertEqual(1, len(c.definitions)) e = c.to_event(self.test_notification1) self.assertIsValidEvent(e, self.test_notification1) self.assertEqual(3, len(e.traits)) self.assertHasDefaultTraits(e) self.assertHasTrait(e, 'instance_id') self.assertHasTrait(e, 'host') e = c.to_event(self.test_notification2) self.assertIsNotValidEvent(e, self.test_notification2)
def test_converter_empty_cfg_with_catchall(self): self.CONF.set_override('drop_unmatched_notifications', False, group='event') c = converter.NotificationEventsConverter( self.CONF, [], self.fake_plugin_mgr) self.assertEqual(1, len(c.definitions)) e = c.to_event('INFO', self.test_notification1) self.assertIsValidEvent(e, self.test_notification1) self.assertEqual(1, len(e.traits)) self.assertHasDefaultTraits(e) e = c.to_event('INFO', self.test_notification2) self.assertIsValidEvent(e, self.test_notification2) self.assertEqual(1, len(e.traits)) self.assertHasDefaultTraits(e)
def test_converter_without_catchall(self): self.CONF.set_override('drop_unmatched_notifications', True, group='event') c = converter.NotificationEventsConverter( self.CONF, self.valid_event_def1, self.fake_plugin_mgr) self.assertEqual(1, len(c.definitions)) e = c.to_event('INFO', self.test_notification1) self.assertIsValidEvent(e, self.test_notification1) self.assertEqual(3, len(e.traits)) self.assertHasDefaultTraits(e) self.assertHasTrait(e, 'instance_id') self.assertHasTrait(e, 'host') e = c.to_event('INFO', self.test_notification2) self.assertIsNotValidEvent(e, self.test_notification2)
def test_converter_missing_keys(self, mock_utcnow): # test a malformed notification now = datetime.datetime.utcnow() mock_utcnow.return_value = now c = converter.NotificationEventsConverter( [], self.fake_plugin_mgr, add_catchall=True) message = {'event_type': "foo", 'message_id': "abc", 'publisher_id': "1"} e = c.to_event(message) self.assertIsValidEvent(e, message) self.assertEqual(1, len(e.traits)) self.assertEqual("foo", e.event_type) self.assertEqual(now, e.generated)
def test_converter_missing_keys(self, mock_utcnow): self.CONF.set_override('drop_unmatched_notifications', False, group='event') # test a malformed notification now = datetime.datetime.utcnow() mock_utcnow.return_value = now c = converter.NotificationEventsConverter( self.CONF, [], self.fake_plugin_mgr) message = {'event_type': "foo", 'message_id': "abc", 'publisher_id': "1"} e = c.to_event(message) self.assertIsValidEvent(e, message) self.assertEqual(1, len(e.traits)) self.assertEqual("foo", e.event_type) self.assertEqual(now, e.generated)
def test_converter_missing_keys(self): # test a malformed notification now = timeutils.utcnow() timeutils.set_time_override(now) c = converter.NotificationEventsConverter([], self.fake_plugin_mgr, add_catchall=True) message = { 'event_type': "foo", 'message_id': "abc", 'publisher_id': "1" } e = c.to_event(message) self.assertIsValidEvent(e, message) self.assertEqual(len(e.traits), 1) self.assertEqual("foo", e.event_type) self.assertEqual(now, e.generated)
def test_store_raw_skip_all(self): c = converter.NotificationEventsConverter( self.CONF, [], self.fake_plugin_mgr) self.assertFalse(self._convert_message(c, 'info').raw) self.assertFalse(self._convert_message(c, 'error').raw)
def test_store_raw_bad_and_good(self): self.CONF.event.store_raw = ['info', 'unknown'] c = converter.NotificationEventsConverter([], self.fake_plugin_mgr) self.assertTrue(self._convert_message(c, 'info').raw) self.assertFalse(self._convert_message(c, 'error').raw)
def test_store_raw_info_only_no_case(self): self.CONF.event.store_raw = ['INFO'] c = converter.NotificationEventsConverter([], self.fake_plugin_mgr) self.assertTrue(self._convert_message(c, 'info').raw) self.assertFalse(self._convert_message(c, 'error').raw)