public async Task RunAsync() { OkObjectResult middlewareResponse = new OkObjectResult("hello"); var instance = this.CreateInstance(); var middleware = new FunctionMiddleware((HttpContext context) => { dynamic obj = new { message = "hello" }; return(Task.FromResult <IActionResult>(new OkObjectResult(obj))); }); instance.Use(middleware); var result = await instance.RunAsync(); var httpResponseResult = result.ShouldBeOfType <HttpResponseResult>(); await httpResponseResult.ExecuteResultAsync(new ActionContext() { HttpContext = this.context }); this.context.Response.StatusCode.ShouldBe((int)HttpStatusCode.OK); //var content = this.context.Response.result.Content.ReadAsStringAsync(); //content.ShouldBe("hello"); }
public async Task FunctionShouldBeCalledOnInvoke() { Mock <IActionResult> result = new Mock <IActionResult>(); int callCount = 0; Task <IActionResult> func(HttpContext ctx) { callCount++; return(Task.FromResult <IActionResult>(result.Object)); } FunctionMiddleware instance = new FunctionMiddleware(func); await instance.InvokeAsync(context.Object); callCount.ShouldBe(1); }