private RequestContext ProcessFakeRequest(string url) { RequestContext requestContext = FakeRequestContext(url); RouteData routeData = routes.GetRouteData(requestContext.HttpContext); //we already knew we're using a DelegateHttpHandler, which is test friendly and can use HttpContextBase DelegateHttpHandler testHandler = (DelegateHttpHandler)routeData.RouteHandler.GetHttpHandler(requestContext); testHandler.ProcessRequest(requestContext.HttpContext); return(requestContext); }
public void ProcessRequest_WithAction_CallsAction() { // arrange bool actionCalled = false; var httpRequest = new HttpRequest("foo", "http://foo.com/", ""); var httpResponse = new HttpResponse(new Mock <TextWriter>().Object); var httpContext = new HttpContext(httpRequest, httpResponse); var handler = new DelegateHttpHandler((c) => actionCalled = true, new RouteData(), false); // act handler.ProcessRequest(httpContext); // assert PAssert.IsTrue(() => handler.IsReusable == false); PAssert.IsTrue(() => actionCalled == true); }