def test_appropriate_logger_used(self, getLogger):
     event_type, event_name = 'test_type', 'test_name'
     event = reporting.ReportingEvent(event_type, event_name, 'description')
     reporting.LogHandler().publish_event(event)
     self.assertEqual(
         [mock.call(
             'cloudinit.reporting.{0}.{1}'.format(event_type, event_name))],
         getLogger.call_args_list)
 def test_as_dict(self):
     event_type, name, desc = 'test_type', 'test_name', 'test_desc'
     event = reporting.ReportingEvent(event_type, name, desc)
     self.assertEqual(
         {
             'event_type': event_type,
             'name': name,
             'description': desc
         }, event.as_dict())
 def test_as_string(self):
     event_type, name, description = 'test_type', 'test_name', 'test_desc'
     event = reporting.ReportingEvent(event_type, name, description)
     expected_string_representation = ': '.join(
         [event_type, name, description])
     self.assertEqual(expected_string_representation, event.as_string())
 def test_log_message_uses_event_as_string(self, getLogger):
     event = reporting.ReportingEvent('type', 'name', 'description')
     reporting.LogHandler().publish_event(event)
     self.assertIn(event.as_string(),
                   getLogger.return_value.info.call_args[0][0])
 def test_single_log_message_at_info_published(self, getLogger):
     event = reporting.ReportingEvent('type', 'name', 'description')
     reporting.LogHandler().publish_event(event)
     self.assertEqual(1, getLogger.return_value.info.call_count)