Как повторно использовать токен oauth2 в тестовых случаях - PullRequest
0 голосов
/ 10 марта 2019

Скажем, у меня есть такой тестовый пример

given().
    auth().oauth2(API_TOKEN).
    param("name", "new name").
when().
     post(API_HOST + "/create").
then().
    statusCode(200);

Следуя этому примеру https://github.com/rest-assured/rest-assured/wiki/Usage#specification-re-use Я могу создать такой метод

public static RequestSpecification setBaseUri() {
    RequestSpecBuilder builder = new RequestSpecBuilder();
    builder.setBaseUri(API_HOST);
    return builder.build();
}

и теперь контрольный пример становится таким

given().
    spec(setBaseUri()).
    auth().oauth2(API_TOKEN).
    param("name", "new name").
when().
     post("/create").
then().
    statusCode(200);

Но как я могу передать auth с oauth2, с указанным API_TOKEN, чтобы я также мог удалить строку auth (). Oauth2 (API_TOKEN). из всех тестовых случаев?

Также это можно сделать с помощью TestRule, чтобы можно было удалить даже спецификацию строки (..)?

1 Ответ

0 голосов
/ 04 июня 2019

Вы можете добавить auth и param в спецификации следующим образом:

RequestSpecification requestSpec = new RequestSpecBuilder().
        setContentType(ContentType.JSON).
        addHeader("Authorization", "yourtoken").
        addParam(yor param). // or you can add body like set.body
        build();
...