CookieFilter против SessionFilter в REST Assured - PullRequest
0 голосов
/ 21 июня 2019

Я работаю над базовой конфигурацией для тестов API с REST Assured framework.Страница входа использует j_spring_security_check, и мне нужно выполнить проверку подлинности на основе файлов cookie.

Для запуска тестов мне необходимо получить файл cookie, позвонив по URL-адресу входа в систему.Предоставленный файл cookie соответствует сеансу на сервере.Последующие вызовы используют исходную аутентификацию и повторно используют один и тот же сеанс до истечения срока его действия.

После некоторого исследования я выяснил, что есть несколько способов сделать это:

  1. Я могу получить cookie-файл и передать его в тесты для выполнения последующих вызовов.
  2. Я могу использовать фильтр сеанса для автоматического захвата и применения сеанса, например:
SessionFilter sessionFilter = new SessionFilter();

given().
          auth().form("John", "Doe").
          filter(sessionFilter).
when().
          get("/formAuth").
then().
          statusCode(200);


given().
          filter(sessionFilter). // Reuse the same session filter instance to automatically apply the session id from the previous response
when().
          get("/x").
then().
          statusCode(200);
Я могу использовать класс CookieFilter.

Цитата из Javadoc - Фильтр cookie можно использовать для отслеживания всех файлов cookie, отправляемых сервером, и использования их в последующих запросах.Это может пригодиться, когда нужно больше, чем просто SessionFilter.Например:


 CookieFilter cookieFilter = new CookieFilter();

 given().
         filter(cookieFilter).
 expect().
         statusCode(200).
 when().
         get("/x");

 given().
         cookie("foo", "bar").
         filter(cookieFilter). // Reuse the same cookie filter
                               // if "foo" is stored in cookieFilter it won't be applied because it's already applied explicitly
 expect().
         statusCode(200).
 when().
         get("/y");

Я думаю, что может быть больше способов сделать это, но главный вопрос - в чем преимущества использования SessionFilter над CookieFilter или наоборот?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...