170 похожих чатов

Смотрите у меня есть вот такие вот два тестовых метода,

в users лежат куки сгенереные в первом методе, второй метод эти куки почему то не видит, но когда я например вставляю код из второго метода в конце первого, то всё отрабатывает норм и авторизуется, почему так?

[TestCaseSource(nameof(users)), Order(2)]
public async Task LoginTest(UserTestClass userTest)
{
var client = _factory.CreateClient();

var pairs = new List<KeyValuePair<string, string>>();

var content = new FormUrlEncodedContent(pairs);

var response1 = await client.PostAsync($"/auth/login?Username={userTest.Username}&Password={userTest.Password}", content);

Assert.AreEqual(HttpStatusCode.OK, response1.StatusCode);

var headers = response1.Headers.ToDictionary(k => k.Key, a => string.Join(";", a.Value));

var cookie = headers["Set-Cookie"].Split(';')[0];

userTest.Cookie = cookie;
}

[TestCaseSource(nameof(users)), Order(3)]
public async Task ChangePasswordTest(UserTestClass userTest)
{
var client = _factory.CreateClient();

var pairs = new List<KeyValuePair<string, string>>();

var content = new FormUrlEncodedContent(pairs);

var baseAddress = new Uri("https://localhost:7190");

var cookieContainer = new CookieContainer();

using (var handler = new HttpClientHandler() { CookieContainer = cookieContainer })

using (var client2 = new HttpClient(handler) { BaseAddress = baseAddress })
{
var pairs2 = new List<KeyValuePair<string, string>>();

var content2 = new FormUrlEncodedContent(pairs2);

cookieContainer.Add(baseAddress, new Cookie("Cookie", userTest.Cookie));

var result = await client.PostAsync("/auth/change-password?Password=newpass", content);
result.EnsureSuccessStatusCode();

Assert.AreEqual(HttpStatusCode.OK, result.StatusCode);
}
}

2 ответов

11 просмотров

Скинь фото с кодом

Андрей- Автор вопроса
Firuz
Скинь фото с кодом

да я уже сделал просто HttpClient полем класса и инициализировал в начале, но всё равно было бы интересно узнать можно ли сделать то же самое с разными HttpClient

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
15
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
Карта сайта