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 ответов

3 просмотра

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

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

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

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

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

Такой вопросец - есть функция function MySuperDuperConcat(const a: array of AnsiString): AnsiString; Как мне в её теле сделать вот так? Result:=Concat(a); А не грустный вариан...
notme
15
Есть какой-нибудь для Delphi/FPC T*Compression(Decompression)Stream на базе LZ4/Zstd/любой другой быстрый(и хорошо сжимающий) алгоритм А ещё лучше в pure pascal А ещё лучше од...
notme
48
type TObj = object procedure Init; virtual; end; TObj1 = object(TObj) procedure Init; override; end; procedure TObj1.Init; begin inherited; end; procedur...
Alexander 👋
29
А чем вам питонисты не угодили?😂
.
79
Можно ли загрузить скрипт py в бота чтобы он работал по нему? как это сделать?
huskadam #RCC Фанат? @hitlerpvp
13
Всем здравствуйте! Я хотел узнать сколько стоит средняя месячная зарплата у Electron js разработчиков? Мне очень это важно и нужно, плиз помогите узнать эту инфу! Для Джунио...
U.K.
10
Всем привет, написал код ниже, но он выдает сегфолт, в чем причина? #include <stdio.h> #include <stdlib.h> #include <string.h> struct product { char *name; float price; };...
buzz базз
83
А дин типизация это хорошо или плохо?
Alexey
12
Язык Си можно выучить за день? По книжке ANSI C на 230 страниц
Vincent Vegan
29
Hello. Could you please help me with finding all coordinates within a radius using a spatial index, given that I have a table with coordinates? SET @lng = 37.57925; SET @lat ...
Rinchin G
8
Карта сайта