public async Task ExecuteActionFilterAsync_IfFaultedTaskExceptionIsUnhandled_PreservesExceptionStackTrace() { // Arrange Exception originalException = CreateExceptionWithStackTrace(); string expectedStackTrace = originalException.StackTrace; using (HttpRequestMessage request = new HttpRequestMessage()) { IActionFilter product = new TestableActionFilter(); HttpActionContext context = ContextUtil.CreateActionContext(); Func <Task <HttpResponseMessage> > continuation = () => CreateFaultedTask <HttpResponseMessage>(originalException); // Act Exception exception = await Assert.ThrowsAsync <InvalidOperationException>( () => product.ExecuteActionFilterAsync( context, CancellationToken.None, continuation ) ); // Assert Assert.NotNull(expectedStackTrace); Assert.StartsWith(expectedStackTrace, exception.StackTrace); } }
public void ExecuteActionFilterAsync_IfContinuationParameterIsNull_ThrowsException() { var filter = new TestableActionFilter() as IActionFilter; Assert.ThrowsArgumentNull(() => { filter.ExecuteActionFilterAsync(actionContext: ContextUtil.CreateActionContext(), cancellationToken: CancellationToken.None, continuation: null); }, "continuation"); }
public void ExecuteActionFilterAsync_IfContinuationParameterIsNull_ThrowsException() { var filter = new TestableActionFilter() as IActionFilter; Assert.ThrowsArgumentNull(() => { filter.ExecuteActionFilterAsync(actionContext: ContextUtil.CreateActionContext(), cancellationToken: CancellationToken.None, continuation: null); }, "continuation"); }
public void AllowsMultiple_DefaultReturnsTrue() { ActionFilterAttribute actionFilter = new TestableActionFilter(); Assert.True(actionFilter.AllowMultiple); }
public void AllowsMultiple_DefaultReturnsTrue() { ActionFilterAttribute actionFilter = new TestableActionFilter(); Assert.True(actionFilter.AllowMultiple); }