/
koskv
/
TeamSync-Tests
Обзор
Документация
Войти
/
koskv
/
TeamSync-Tests
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
src/main/java/TeamSyncTest/models/response/ApiResponse.java
80 строк
2 KB
Koskv
Ref: Полная переработка ApiMethods. Правка тестового класса UserTest
17 ноя 2025, 21:33
17 ноя 2025, 21:33
6cfc113
Код
Авторство
О чём код?
package TeamSyncTest.models.response; import io.restassured.response.Response; import java.util.Map; import java.util.stream.Collectors; public class ApiResponse<T> { private final int statusCode; private final T body; private final Response rawResponse; public ApiResponse(int statusCode, T body, Response rawResponse) { this.statusCode = statusCode; this.body = body; this.rawResponse = rawResponse; } // Конструктор без rawResponse public ApiResponse(int statusCode, T body) { this(statusCode, body, null); } public int getStatusCode() { return statusCode; } public T getBody() { return body; } public Response getRawResponse() { if (rawResponse == null) { throw new IllegalStateException("Raw response not available. Use send() with expectedStatus = -1"); } return rawResponse; } // ======= Удобные методы для получения данных из ответа ! // Получить из ответа Хедеры public Map<String, String> getHeaders() { return getRawResponse().getHeaders().asList().stream() .collect(Collectors.toMap( h -> h.getName(), h -> h.getValue(), (v1, v2) -> v1 // если дубли — берём первое )); } public String getHeader(String name) { return getRawResponse().getHeader(name); } public long getTime() { return getRawResponse().getTime(); } public String getContentType() { return getRawResponse().getContentType(); } public String getSessionId() { return getRawResponse().getSessionId(); } public String getCookie(String name) { return getRawResponse().getCookie(name); } public Map<String, String> getCookies() { return getRawResponse().getCookies(); } // === Быстрые проверки === public boolean hasHeader(String name) { return getRawResponse().headers().hasHeaderWithName(name); } public boolean isEmptyBody() { return getRawResponse().getBody().asString().isEmpty(); } }