So greifen Sie in einem Unit-Test in ASP.NET 5 / MVC 6 auf HttpContext zu
Nehmen wir an, ich lege in meiner Middleware einen Wert für den http-Kontext fest. Zum Beispiel HttpContext.User.
Wie kann ich den http-Kontext in meinem Unit-Test testen? Hier ist ein Beispiel, was ich versuche zu tun
Middleware
public class MyAuthMiddleware
{
private readonly RequestDelegate _next;
public MyAuthMiddleware(RequestDelegate next)
{
_next = next;
}
public async Task Invoke(HttpContext context)
{
context.User = SetUser();
await next(context);
}
}
Prüfun
[Fact]
public async Task UserShouldBeAuthenticated()
{
var server = TestServer.Create((app) =>
{
app.UseMiddleware<MyAuthMiddleware>();
});
using(server)
{
var response = await server.CreateClient().GetAsync("/");
// After calling the middleware I want to assert that
// the user in the HttpContext was set correctly
// but how can I access the HttpContext here?
}
}