ПОЛЬЗОВАТЕЛЬСКАЯ СРЕДНЯЯ ПОМОЩЬ
Мое приложение имеет промежуточное ПО, которое получает строку из сеанса:
public Task Invoke(HttpContext httpContext)
{
//...
string token = httpContext.Session.GetString("token");
//...
}
TEST
Есть интеграционный тест
public class UsersControllerTest
{
private readonly HttpClient _httpClient;
private readonly TestServer _testServer;
public UsersControllerTest()
{
var projectDir = @"c:\TestSessionApp";
_testServer = new TestServer(WebHost.CreateDefaultBuilder()
.UseEnvironment("Development")
.UseContentRoot(projectDir)
.UseConfiguration(new ConfigurationBuilder()
.SetBasePath(projectDir)
.AddJsonFile("appsettings.Development.json")
.Build()
)
.UseStartup<Startup>());
_httpClient = _testServer.CreateClient();
}
[Theory]
[InlineData("GET")]
public async Task TestGet(string methodType)
{
var requestMsg = new HttpRequestMessage(new HttpMethod(methodType), "/api/users");
//... ?
var responseMsg = await _httpClient.SendAsync(requestMsg);
}
Как я могу отправить строку сеанса по HttpClient
? Должен ли я каким-то образом издеваться над HttpContext
? Однако, как вы можете видеть, это интеграция тест, поэтому я хотел бы использовать минимальный макет.