public void ConstructorAllowsWarningsByDefault() { var expected = TraceLevel.Warning; var writer = new SerilogWebJobTraceWriter(Mock.Of <ILogger>()); writer.Level.Should().Be(expected, "because the log level should have been set to allow Warnings"); }
public void ConstructorSetsTheRequestedLogLevel() { var expected = TraceLevel.Off; var writer = new SerilogWebJobTraceWriter(Mock.Of <ILogger>(), expected); writer.Level.Should().Be(expected, "because the log level should have been set"); }
public void TraceLogsInformationAsInformation() { var loggerMock = new Mock <ILogger>(); var writer = new SerilogWebJobTraceWriter(loggerMock.Object); var trace = new TraceEvent(TraceLevel.Info, "Hello"); writer.Trace(trace); loggerMock.Verify(logger => logger.Information(It.IsAny <string>()), Times.Once, "because the correct log method should be called for the level"); }
public void TraceWithExceptionLogsAsAnError() { var loggerMock = new Mock <ILogger>(); var writer = new SerilogWebJobTraceWriter(loggerMock.Object); var expected = new Exception(); var trace = new TraceEvent(TraceLevel.Verbose, "Hello"); trace.Exception = expected; writer.Trace(trace); loggerMock.Verify(logger => logger.Error(It.Is <Exception>(ex => ex == expected), It.IsAny <string>(), It.IsAny <string>()), Times.Once, "because an exception should be error logged, regardless of level"); }