com.github.aoreshin.allure.rest.assured.ApiRequestSteps Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of allure-rest-assured Show documentation
Show all versions of allure-rest-assured Show documentation
Fluent API for Rest Assured and Allure reports
package com.github.aoreshin.allure.rest.assured;
import com.github.aoreshin.junit5.allure.steps.StepWrapperSteps;
import io.qameta.allure.Step;
import io.restassured.builder.RequestSpecBuilder;
import java.util.List;
import java.util.Map;
import static io.restassured.RestAssured.given;
public final class ApiRequestSteps extends StepWrapperSteps {
private RequestSpecBuilder requestSpecBuilder = new RequestSpecBuilder();
private ApiRequestSteps() {
}
public static ApiRequestSteps apiRequest() {
return new ApiRequestSteps();
}
@Step("Добавление заголовка {name}={value}")
public ApiRequestSteps addHeader(String name, String value) {
requestSpecBuilder.addHeader(name, value);
return this;
}
@Step("Добавление заголовков {headers}")
public ApiRequestSteps addHeader(Map headers) {
requestSpecBuilder.addHeaders(headers);
return this;
}
@Step("Добавление cookie файла")
public ApiRequestSteps addCookie(String cookieName) {
requestSpecBuilder.addCookie(cookieName);
return this;
}
@Step("Добавление параметра {name}={value}")
public ApiRequestSteps addParam(String name, String value) {
requestSpecBuilder.addParam(name, value);
return this;
}
@Step("Добавление списка параметров {name}={paramList}")
public ApiRequestSteps addParam(String name, List paramList) {
requestSpecBuilder.addParam(name, paramList);
return this;
}
@Step("Добавление мапы параметров {paramMap}")
public ApiRequestSteps addParam(Map paramMap) {
requestSpecBuilder.addParams(paramMap);
return this;
}
@Step("Добавление тела запроса")
public ApiRequestSteps setBody(Object body) {
requestSpecBuilder.setBody(body);
return this;
}
@Step("Отправка PUT запроса на {url}")
public ApiValidationSteps put(String url) {
return new ApiValidationSteps(given(requestSpecBuilder.build()).get(url));
}
@Step("Отправка GET запроса на {url}")
public ApiValidationSteps get(String url) {
return new ApiValidationSteps(given(requestSpecBuilder.build()).get(url));
}
@Step("Отправка DELETE запроса на {url}")
public ApiValidationSteps delete(String url) {
return new ApiValidationSteps(given(requestSpecBuilder.build()).delete(url));
}
@Step("Отправка HEAD запроса на {url}")
public ApiValidationSteps head(String url) {
return new ApiValidationSteps(given(requestSpecBuilder.build()).head(url));
}
@Step("Отправка PATCH запроса на {url}")
public ApiValidationSteps patch(String url) {
return new ApiValidationSteps(given(requestSpecBuilder.build()).patch(url));
}
/**
* Only for testing
*/
ApiRequestSteps setRequestSpecBuilder(RequestSpecBuilder requestSpecBuilder) {
this.requestSpecBuilder = requestSpecBuilder;
return this;
}
}