def test_telemetry_logger1(self, mock_save): appender = logger.TelemetryAppender(logger.LogLevel.WARNING, add_log_event) appender.write(logger.LogLevel.WARNING, "--unit-test--") self.assertEqual(1, mock_save.call_count) telemetry_json = json.loads(mock_save.call_args[0][0]) self.assertEqual('FFF0196F-EE4C-4EAF-9AA5-776F622DEB4F', telemetry_json['providerId']) self.assertEqual(7, telemetry_json['eventId']) self.assertEqual(12, len(telemetry_json['parameters'])) for x in telemetry_json['parameters']: if x['name'] == 'EventName': self.assertEqual(x['value'], 'Log') elif x['name'] == 'CapabilityUsed': self.assertEqual(x['value'], 'WARNING') elif x['name'] == 'Context1': self.assertEqual(x['value'], '--unit-test--') elif x['name'] == 'Context2': self.assertEqual(x['value'], '') elif x['name'] == 'Context3': self.assertEqual(x['value'], '')
def test_telemetry_logger_sending_correct_fields(self, mock_save, patch_conf_get_logs_to_telemetry): appender = logger.TelemetryAppender(logger.LogLevel.WARNING, add_log_event) appender.write(logger.LogLevel.WARNING, 'Cgroup controller "memory" is not mounted. ' 'Failed to create a cgroup for extension ' 'Microsoft.OSTCExtensions.DummyExtension-1.2.3.4') self.assertEqual(1, mock_save.call_count) telemetry_json = json.loads(mock_save.call_args[0][0]) self.assertEqual(TELEMETRY_LOG_PROVIDER_ID, telemetry_json['providerId']) self.assertEqual(TELEMETRY_LOG_EVENT_ID, telemetry_json['eventId']) self.assertEqual(12, len(telemetry_json['parameters'])) for x in telemetry_json['parameters']: if x['name'] == 'EventName': self.assertEqual(x['value'], 'Log') elif x['name'] == 'CapabilityUsed': self.assertEqual(x['value'], 'WARNING') elif x['name'] == 'Context1': self.assertEqual(x['value'], 'Cgroup controller "memory" is not mounted. ' 'Failed to create a cgroup for extension ' 'Microsoft.OSTCExtensions.DummyExtension-1.2.3.4') elif x['name'] == 'Context2': self.assertEqual(x['value'], '') elif x['name'] == 'Context3': self.assertEqual(x['value'], '')
def test_telemetry_logger_not_on_by_default(self, mock_save): appender = logger.TelemetryAppender(logger.LogLevel.WARNING, add_log_event) appender.write( logger.LogLevel.WARNING, 'Cgroup controller "memory" is not mounted. ' 'Failed to create a cgroup for extension ' 'Microsoft.OSTCExtensions.DummyExtension-1.2.3.4') self.assertEqual(0, mock_save.call_count)
def test_telemetry_logger(self): mock = MagicMock() appender = logger.TelemetryAppender(logger.LogLevel.WARNING, mock) appender.write(logger.LogLevel.WARNING, "--unit-test-WARNING--") mock.assert_called_with(logger.LogLevel.WARNING, "--unit-test-WARNING--") mock.reset_mock() appender.write(logger.LogLevel.ERROR, "--unit-test-ERROR--") mock.assert_called_with(logger.LogLevel.ERROR, "--unit-test-ERROR--") mock.reset_mock() appender.write(logger.LogLevel.INFO, "--unit-test-INFO--") mock.assert_not_called() mock.reset_mock() for i in range(5): appender.write(logger.LogLevel.ERROR, "--unit-test-ERROR--") appender.write(logger.LogLevel.INFO, "--unit-test-INFO--") self.assertEqual(5, mock.call_count) # Only ERROR should be called.
def test_telemetry_logger(self): mock = MagicMock() appender = logger.TelemetryAppender(logger.LogLevel.WARNING, mock) appender.write(logger.LogLevel.WARNING, "--unit-test--") mock.assert_called_once_with(logger.LogLevel.WARNING, "--unit-test--")