Почему у меня не работает авторизация в post запросе? Rest-assured
Первая функция возвращает токен, вторая создает новый продукт, авторизируясь с помощью токена. Но по какой то причине ловлю статус 403. Он не принимает токен. В json файле есть "data" с токеном, и статус "status": success
import io.restassured.http.ContentType;
import io.restassured.path.json.JsonPath;
import org.testng.annotations.Test;
import org.json.JSONObject;
import java.lang.reflect.Type;
import static io.restassured.RestAssured.given;
public class Auth {
public static String getToken;
@Test
public void Authorization() {
AuthPojoRequest rq = new AuthPojoRequest();
rq.setEmail("email");
rq.setPassword("password");
String tokken = "token";
String getToken;
AuthPojoResponse rs = given()
.baseUri("URI")
.basePath("/api/signin")
.contentType(ContentType.JSON)
.header("TOKEN", tokken)
.body(rq)
.when().post()
.then().extract().as((Type) AuthPojoResponse.class);
getToken = rs.data;
System.out.println("bearer " + getToken);
JSONObject jsonObject = new JSONObject(rs);
// }
Integer[] categoryIds = new Integer[]{1};
Integer[] departmentIds = new Integer[]{5} ;
// @Test
// public void PostRequest() {
ProductAddRequest request = new ProductAddRequest(1, "1234567890", categoryIds, departmentIds, "Тестовый продукт", "12345678901", false, 999, null, false, 1, "Тестовый продукт1", 999, 0, true, "ТестТест", "TestingProduct");
ProductAddResponse response = given()
.baseUri("URI")
.basePath("/api/add")
.contentType(ContentType.JSON)
.header("TOKEN","bearer" + jsonObject.getString("data"))
.body(request)
.when()
.post()
.then().log().all()
.extract().as(ProductAddResponse.class);
}
}
Если ввести реальный токен то запрос работает. Если в post запросе в header вставлять переменную getToken или jsonObject.getString("data") то приходит статус 403