public async Task InvokeAsync_ExceptionLoggerNull_ThrowsException() { Task RequestDelegate(HttpContext context) { return(Task.CompletedTask); } var ret = new ErrorLoggingMiddleware(RequestDelegate); (await ret.Invoking(x => x.InvokeAsync(new DefaultHttpContext(), null)).Should() .ThrowAsync <ArgumentNullException>()).And.ParamName.Should().Be("exceptionLogger"); }
public void SetUp() { _loggingMock = new Mock <ILogger <ErrorLoggingMiddleware> >(MockBehavior.Strict); _errorLoggingMiddleware = new ErrorLoggingMiddleware(next: async(innerHttpContext) => { await innerHttpContext.Response.WriteAsync("test response body"); }, logger: _loggingMock.Object); _errorLoggingMiddlewareException = new ErrorLoggingMiddleware(next: (innerHttpContext) => throw new Exception("Error Logging Middleware Exception Raised"), logger: _loggingMock.Object); }
public async Task InvokeAsync_CallsNextDelegate() { var called = false; Task RequestDelegate(HttpContext context) { called = true; return(Task.CompletedTask); } var ret = new ErrorLoggingMiddleware(RequestDelegate); await ret.InvokeAsync(new DefaultHttpContext(), _exceptionLoggerMock.Object); called.Should().BeTrue(); }
public async Task InvokeAsync_WhenExceptionIsThrown_LoggerIsCalledBeforeThrowing() { var exception = new Exception(); Task RequestDelegate(HttpContext context) { throw exception; } var ret = new ErrorLoggingMiddleware(RequestDelegate); using (new AssertionScope()) { await ret.Invoking(x => x.InvokeAsync(new DefaultHttpContext(), _exceptionLoggerMock.Object)).Should() .ThrowAsync <Exception>(); _exceptionLoggerMock.Verify(x => x.LogExceptionAsync(exception), Times.Once); } }
public ErrorLoggingMiddlewareTests() { _sut = new ErrorLoggingMiddleware(_next, _logger); }