в 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);
                  
                  
                              }
                  
                  
                          }
                  
                  
                
Скинь фото с кодом
да я уже сделал просто HttpClient полем класса и инициализировал в начале, но всё равно было бы интересно узнать можно ли сделать то же самое с разными HttpClient
Обсуждают сегодня