public async Task WritesLogEventWrapperModelToJson(LogLevel testLogLevel) { // Arrange var AddMessageAsyncWasCalled = false; var testLogEntryModel = new LogEntryModel { Details = "UnitTest" }; var expectedWrapperModel = new LogEventWrapperModel { ApplicationName = testApplicationName, LogLevel = testLogLevel, LogEntry = testLogEntryModel }; mockQueue.Setup(c => c.AddMessageAsync(It.IsAny <string>())) .Callback( (string message) => { var actualWrapper = JsonConvert.DeserializeObject <LogEventWrapperModel>(message); // Assert expectedWrapperModel.Compare(actualWrapper); AddMessageAsyncWasCalled = true; }) .Returns(Task.CompletedTask); // Act var logger = mockLogEventLoggerProvider.Object; await logger.WriteAsync(testLogLevel, testLogEntryModel); // Assert Assert.IsTrue(AddMessageAsyncWasCalled); }
public async Task WriteAsync(LogLevel logLevel, LogEntryModel logEntry) { var wrapper = new LogEventWrapperModel { ApplicationName = ApplicationName, LogLevel = logLevel, LogEntry = logEntry }; await queue.AddMessageAsync(wrapper); }