mirror of
https://github.com/dotnet/MQTTnet.git
synced 2026-10-15 00:15:15 +08:00
52 lines
1.6 KiB
C#
52 lines
1.6 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using Microsoft.Extensions.DependencyInjection;
|
|
using Microsoft.Extensions.Logging;
|
|
using Microsoft.VisualStudio.TestTools.UnitTesting;
|
|
using MQTTnet.Core.Diagnostics;
|
|
|
|
namespace MQTTnet.Core.Tests
|
|
{
|
|
[TestClass]
|
|
public class MqttLoggerProviderTest
|
|
{
|
|
[TestMethod]
|
|
public void TestLoggerCallback()
|
|
{
|
|
var serviceCollection = new ServiceCollection();
|
|
serviceCollection.AddLogging();
|
|
|
|
var serviceProvider = serviceCollection.BuildServiceProvider();
|
|
using ((IDisposable)serviceProvider)
|
|
{
|
|
var loggerFactory = serviceProvider.GetRequiredService<ILoggerFactory>();
|
|
|
|
loggerFactory.AddMqttTrace();
|
|
|
|
var expectedMsg = "Hello World!";
|
|
MqttNetTraceMessage msg = null;
|
|
|
|
MqttNetTrace.TraceMessagePublished += (sender, args) =>
|
|
{
|
|
msg = args.TraceMessage;
|
|
};
|
|
|
|
var logger = loggerFactory.CreateLogger<MqttLoggerProviderTest>();
|
|
|
|
logger.LogInformation(expectedMsg);
|
|
|
|
Assert.AreEqual(expectedMsg, msg.Message);
|
|
|
|
var expectedException = new Exception("bad stuff");
|
|
|
|
logger.LogError(new EventId(), expectedException, expectedException.Message);
|
|
|
|
Assert.AreEqual(expectedException, msg.Exception);
|
|
Assert.AreEqual(expectedException.Message, msg.Message);
|
|
}
|
|
}
|
|
}
|
|
}
|