public void AuditController_Resuming_Workflow_Does_Not_Require_Authentication_Given_allowLogIn_Is_False() { var request = new Mock <HttpRequestBase>(); var response = new Mock <HttpResponseBase>(); request.SetupGet(x => x.Headers).Returns( new WebHeaderCollection { { "X-Requested-With", "XMLHttpRequest" }, }); var context = new Mock <HttpContextBase>(); context.SetupGet(x => x.Request).Returns(request.Object); context.SetupGet(x => x.Response).Returns(response.Object); var controller = new AuditController(); controller.ControllerContext = new ControllerContext(context.Object, new RouteData(), controller); controller.TempData.Add("allowLogin", false); controller.PerformResume(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>()); response.VerifySet(res => res.StatusCode = 401, Times.AtLeastOnce); Assert.AreEqual(1, controller.TempData.Count); }
public void AuditController_Resuming_Workflow_Given_UnAuthorizedUser_Authentication() { //---------------------------------Arrange--------------------------------------- var url = "http://localhost:3142/secure/WorkflowResume"; var returnedExceptionMessage = "The remote server returned an error: (401) Unauthorized."; var mockContext = new Mock <HttpContextBase>(); var mockRequest = new Mock <HttpRequestBase>(); var mockWebClientFactory = new Mock <IWebClientFactory>(); var mockClientWrapper = new Mock <IWebClientWrapper>(); var tempData = new TempDataDictionary { { "allowLogin", true } }; mockRequest.SetupGet(x => x.Headers).Returns( new WebHeaderCollection { { "X-Requested-With", "XMLHttpRequest" }, { "Authorization", "Basic ZGV2MlxJbnRlcmdyYXRpb25UZXN0ZXI6STczNTczcjA=" }, }); mockContext.SetupGet(o => o.Request).Returns(mockRequest.Object); mockWebClientFactory.Setup(o => o.New(It.IsAny <string>(), It.IsAny <string>())).Returns(mockClientWrapper.Object); mockClientWrapper.Setup(o => o.UploadValues(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <NameValueCollection>())).Throws(new Exception(returnedExceptionMessage)); //---------------------------------Act------------------------------------------ using (var controller = new AuditController(mockWebClientFactory.Object)) { controller.TempData = tempData; controller.ControllerContext = new ControllerContext(mockContext.Object, new RouteData(), controller); //----------------------------Assert--------------------------------------- Assert.ThrowsException <Exception>(() => controller.PerformResume(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), url)); }; }