надежное расширение kotlin отправляет пустое тело

kotlin #rest-assured

#kotlin #rest-assured

Вопрос:

Я использую rest-assured 4.4.0 с Kotlin, и этот простой тест завершается неудачей:

 Given {
  body("hello")
}
When {
  post("/endpoint/")
} Then {
  statusCode(HttpStatus.SC_CREATED)
}
 

rest-assured не отправляет body с запросом:

 Request method: POST
Request URI:    http://localhost:52298/endpoint/
Proxy:          <none>
Request params: <none>
Query params:   <none>
Form params:    <none>
Path params:    <none>
Headers:        Accept=*/*
                Content-Type=application/json
Cookies:        <none>
Multiparts:     <none>
Body:           <none>
 

Если я переключусь на API на основе Java, тест пройдет:

 given()
  .body("hello")
.`when`()
  .post("/endpoint")
.then()
  .assertThat()
  .statusCode(HttpStatus.SC_CREATED) 
 

Я не смог найти ни одной открытой проблемы в репозитории rest-assured github, связанной с этой проблемой, интересно, делаю ли я что-то не так.

Комментарии:

1. Я думаю, вам следует поднять вопрос на github.

2. Выполнено: github.com/rest-assured/rest-assured/issues/1509

Ответ №1:

Неправильное форматирование, When блок должен находиться на той же строке, что и закрывающая скобка Given блока.

НЕВЕРНО

 Given {
  body("{"hello":"world"}")
}
When {
...
 

ПРАВИЛЬНО

 Given {
  body("{"hello":"world"}")
} When {
...