Привет! Пишу тест по API с применением Rest Assured.
Мой тес проверяет API по настройкам безопасности пароля
@Test(description = "Настройки безопасности пароля пользователя ")
public void securityPolise() {
File json = new File(PATH_TO_USER_SECURITY);
testLogger.info("\n... password security settings...\n");
given()
.headers(getAdminCookie())
.contentType(JSON)
.log().all()
.body(json)
.when().put(STABLE_BASE_URL + API_MOD_ACL + API_MOD_ACL_SECURITY_POLICE)
.then().log().body()
.assertThat().statusCode(200)
.body("password_diff_from_old", equalTo(false))
.body("password_req_low_letter", equalTo(true))
.body("password_diff_from_old_symbols", equalTo((2)));
Отправляю Put запрос с теле указываю json
{
"password_min_length":8,
"password_req_spec":false,
"password_req_digit":true,
"password_req_up_letter":false,
"password_req_low_letter":true,
"password_diff_from_old":false,
"password_diff_from_old_symbols":2
}
В ответ приходит json
{
"user_max_sessions": 91,
"user_lock_after_overflow_sessions": false,
"user_auth_fails_limit": 6,
"user_lock_duration": 5,
"user_failed_auths_idle": 1,
"user_session_max_idle": 241,
"password_expired_time": 365,
"password_min_length": 8,
"password_req_spec": false,
"password_req_digit": true,
"password_req_up_letter": false,
"password_req_low_letter": true,
"password_diff_from_old": false,
"password_diff_from_old_symbols": 2,
"unused_account_change_password_after": 180
}
Нужно проверить ,что все значения ,которые пришли верные .Поскольку json длинный,каждое поле проверять неудобно , будет длинные тест .К примеру .assertThat().statusCode(200)
.body(“password_diff_from_old”, equalTo(false))
и так на каждое поле .Как наиболее компактно( без ассертов на каждую строку json)проверить json из response