REST Гарантированный и несколько сообщений

Я пытаюсь использовать REST, чтобы проверить свою функцию входа / выхода. Возможно ли иметь тест с гарантированным REST, который отправляет сообщения для входа в систему, а затем сообщения для выхода из системы? Если нет, как я могу его правильно проверить?


person mattklamp    schedule 22.07.2013    source источник
comment
Я просмотрел документацию. Он не приводит никаких примеров и ничего конкретно не говорит.   -  person mattklamp    schedule 23.07.2013
comment
Ваша авторизация: базовая / дайджест или форма?   -  person vaugham    schedule 25.07.2014


Ответы (4)


Просто отправьте два post () с одним assert () / expect ():

import org.junit.Assert;
import org.junit.Test;

import static org.hamcrest.Matchers.*;
import static com.jayway.restassured.RestAssured.*;

@Test
public void loginAndLogout(){
    final String login = randomLogin();
    // First post to login()
    given()
    .queryParam("login", login)
    .queryParam("password", randomPassword())
    .when().post("/login/");    

    // Second post to logout() with an assert
    expect().statusCode(200)
    .given()
    .when().post("/logout/");   
}
person vaugham    schedule 17.07.2014
comment
Между каждым постом, если вы хотите проверить ответ, это тоже возможно ... т.е. после post() вы можете получить then().body("param1", "value1,", "param2", "value2", ...); - person OverrockSTAR; 12.04.2015

Ты можешь попробовать

expect().statusCode(HttpStatus.SC_OK)
    .given()
    .parameters("user", user, "password", URL)
    .cookie("cookie_name", "cookie_value")
    .post("/someURL");

Также есть гарантированный вызов авторизации.

См. документацию или примеры

person mihai.ciorobea    schedule 06.08.2013

Приводит ли ваш вызов api к логину какой-то токен аутентификации, который повторно используется в последующих запросах? Если это так, я рассматриваю это как отдельные вызовы для полной проверки.

(Вход в фокус)

  1. Выполните вызов RestAssured для / login api. Сохраните возвращенный токен аутентификации.
  2. Используя сохраненный токен, выполните вызов RestAssured для другого API в вашей системе, который требует аутентификации на первом шаге. Это подтверждает, что токен аутентификации работает.

(Выйти из системы)

  1. Выполните вызов RestAssured к api / logout, используя сохраненный токен.
  2. Повторите шаг два и подтвердите, что этот запрос теперь не выполняется, поскольку токен входа в систему больше не действителен после шага три.
person Dave Gordon    schedule 05.10.2018

Также вы попробуете это:

Создайте свой файл JSON с именем xyzjson и сохраните данные полезной нагрузки в этом файле и используйте приведенный ниже код.

Response rep  = given()
                  .headers
                  .(headers)
                  .accept(contentType.json)
                  .body (xyzjson)
                .when()
                  .post(someURL);

Assert.assertTrue(rep.StatusCode() == HttpStatus.SC_Ok);
person Nitin mahapure    schedule 07.09.2018