public void InvokeAction_AsyncControllerActionInvoker() { _controllerContext.Controller = new TestController(); var actionInvoker = new AsyncControllerActionInvoker(); IAsyncResult asyncResult = actionInvoker.BeginInvokeAction(_controllerContext, nameof(TestController.NormalAction), null, null); var retVal = actionInvoker.EndInvokeAction(asyncResult); }
public void InvokeAction_ActionThrowsException_ThreadAbort() { // Arrange ControllerContext controllerContext = GetControllerContext(); AsyncControllerActionInvoker invoker = new AsyncControllerActionInvoker(); // Act & assert Assert.Throws<ThreadAbortException>( delegate { invoker.EndInvokeAction(invoker.BeginInvokeAction(controllerContext, "ActionCallsThreadAbort", null, null)); }); }
public void InvokeAction_ActionThrowsException_NotHandled() { // Arrange ControllerContext controllerContext = GetControllerContext(); AsyncControllerActionInvoker invoker = new AsyncControllerActionInvoker(); // Act & assert Assert.Throws<Exception>( delegate { invoker.EndInvokeAction(invoker.BeginInvokeAction(controllerContext, "ActionThrowsExceptionAndIsNotHandled", null, null)); }, @"Some exception text."); }
public void InvokeAction_ResultThrowsException_ThreadAbort() { // Arrange ControllerContext controllerContext = GetControllerContext(); AsyncControllerActionInvoker invoker = new AsyncControllerActionInvoker(); // Act & assert IAsyncResult asyncResult = invoker.BeginInvokeAction(controllerContext, "ResultCallsThreadAbort", null, null); Assert.Throws <ThreadAbortException>( delegate { invoker.EndInvokeAction(asyncResult); }); }
public void InvokeAction_ActionNotFound() { // Arrange ControllerContext controllerContext = GetControllerContext(); AsyncControllerActionInvoker invoker = new AsyncControllerActionInvoker(); // Act IAsyncResult asyncResult = invoker.BeginInvokeAction(controllerContext, "ActionNotFound", null, null); bool retVal = invoker.EndInvokeAction(asyncResult); // Assert Assert.IsFalse(retVal); }
public void InvokeAction_ResultThrowsException_Handled() { // Arrange ControllerContext controllerContext = GetControllerContext(); AsyncControllerActionInvoker invoker = new AsyncControllerActionInvoker(); // Act & assert IAsyncResult asyncResult = invoker.BeginInvokeAction(controllerContext, "ResultThrowsExceptionAndIsHandled", null, null); bool retVal = invoker.EndInvokeAction(asyncResult); Assert.IsTrue(retVal); Assert.AreEqual("From exception filter", ((TestController)controllerContext.Controller).Log); }
public void InvokeAction_ActionThrowsException_Handled() { // Arrange ControllerContext controllerContext = GetControllerContext(); AsyncControllerActionInvoker invoker = new AsyncControllerActionInvoker(); // Act & assert IAsyncResult asyncResult = invoker.BeginInvokeAction(controllerContext, "ActionThrowsExceptionAndIsHandled", null, null); Assert.IsNull(((TestController)controllerContext.Controller).Log, "Result filter shouldn't have executed yet."); bool retVal = invoker.EndInvokeAction(asyncResult); Assert.IsTrue(retVal); Assert.AreEqual("From exception filter", ((TestController)controllerContext.Controller).Log); }
public void InvokeAction_AuthorizationFilterShortCircuits() { // Arrange ControllerContext controllerContext = GetControllerContext(); AsyncControllerActionInvoker invoker = new AsyncControllerActionInvoker(); // Act IAsyncResult asyncResult = invoker.BeginInvokeAction(controllerContext, "AuthorizationFilterShortCircuits", null, null); bool retVal = invoker.EndInvokeAction(asyncResult); // Assert Assert.IsTrue(retVal); Assert.AreEqual("From authorization filter", ((TestController)controllerContext.Controller).Log); }
public void InvokeAction_ResultThrowsException_NotHandled() { // Arrange ControllerContext controllerContext = GetControllerContext(); AsyncControllerActionInvoker invoker = new AsyncControllerActionInvoker(); // Act & assert IAsyncResult asyncResult = invoker.BeginInvokeAction(controllerContext, "ResultThrowsExceptionAndIsNotHandled", null, null); Assert.Throws <Exception>( delegate { invoker.EndInvokeAction(asyncResult); }, @"Some exception text."); }
public void InvokeAction_NormalAction() { // Arrange ControllerContext controllerContext = GetControllerContext(); AsyncControllerActionInvoker invoker = new AsyncControllerActionInvoker(); // Act IAsyncResult asyncResult = invoker.BeginInvokeAction(controllerContext, "NormalAction", null, null); bool retVal = invoker.EndInvokeAction(asyncResult); // Assert Assert.IsTrue(retVal); Assert.AreEqual("From action", ((TestController)controllerContext.Controller).Log); }
public void InvokeAction_ActionThrowsException_Handled() { // Arrange ControllerContext controllerContext = GetControllerContext(); AsyncControllerActionInvoker invoker = new AsyncControllerActionInvoker(); // Act & assert IAsyncResult asyncResult = invoker.BeginInvokeAction(controllerContext, "ActionThrowsExceptionAndIsHandled", null, null); Assert.Null(((TestController)controllerContext.Controller).Log); // Result filter shouldn't have executed yet bool retVal = invoker.EndInvokeAction(asyncResult); Assert.True(retVal); Assert.Equal("From exception filter", ((TestController)controllerContext.Controller).Log); }
public void InvokeAction_NormalAction() { // Arrange ControllerContext controllerContext = GetControllerContext(); AsyncControllerActionInvoker invoker = new AsyncControllerActionInvoker(); // Act IAsyncResult asyncResult = invoker.BeginInvokeAction(controllerContext, "NormalAction", null, null); bool retVal = invoker.EndInvokeAction(asyncResult); // Assert Assert.True(retVal); Assert.Equal("From action", ((TestController)controllerContext.Controller).Log); }
public void InvokeAction_ResultThrowsException_Handled() { // Arrange ControllerContext controllerContext = GetControllerContext(); AsyncControllerActionInvoker invoker = new AsyncControllerActionInvoker(); // Act & assert IAsyncResult asyncResult = invoker.BeginInvokeAction(controllerContext, "ResultThrowsExceptionAndIsHandled", null, null); bool retVal = invoker.EndInvokeAction(asyncResult); Assert.True(retVal); Assert.Equal("From exception filter", ((TestController)controllerContext.Controller).Log); }
public void InvokeAction_AuthenticationFilterChallenges() { // Arrange ControllerContext controllerContext = GetControllerContext(); AsyncControllerActionInvoker invoker = new AsyncControllerActionInvoker(); // Act IAsyncResult asyncResult = invoker.BeginInvokeAction(controllerContext, "AuthenticationFilterChallenges", null, null); bool retVal = invoker.EndInvokeAction(asyncResult); // Assert Assert.True(retVal); Assert.Equal("From authentication filter challenge", ((TestController)controllerContext.Controller).Log); }
public void InvokeAction_RequestValidationFails() { // Arrange ControllerContext controllerContext = GetControllerContext(passesRequestValidation: false); AsyncControllerActionInvoker invoker = new AsyncControllerActionInvoker(); // Act & assert Assert.Throws<HttpRequestValidationException>( delegate { invoker.EndInvokeAction(invoker.BeginInvokeAction(controllerContext, "NormalAction", null, null)); }); }
public void InvokeAction_ResultThrowsException_ThreadAbort() { // Arrange ControllerContext controllerContext = GetControllerContext(); AsyncControllerActionInvoker invoker = new AsyncControllerActionInvoker(); // Act & assert IAsyncResult asyncResult = invoker.BeginInvokeAction(controllerContext, "ResultCallsThreadAbort", null, null); ExceptionHelper.ExpectException<ThreadAbortException>( delegate { invoker.EndInvokeAction(asyncResult); }); }
public void InvokeAction_ResultThrowsException_NotHandled() { // Arrange ControllerContext controllerContext = GetControllerContext(); AsyncControllerActionInvoker invoker = new AsyncControllerActionInvoker(); // Act & assert IAsyncResult asyncResult = invoker.BeginInvokeAction(controllerContext, "ResultThrowsExceptionAndIsNotHandled", null, null); ExceptionHelper.ExpectException<Exception>( delegate { invoker.EndInvokeAction(asyncResult); }, @"Some exception text."); }