У меня есть ответ «Гарантированный покой», который содержит следующее тело:
{
"content":[
{
"id":"7db80896",
"secondaryId":"12F9BD",
"version":1,
"details":{
"status":"VALID",
"reason":"Passed validations"
},
"subscriptionStatuses":[
{
"subscriptionId":"b8003508",
"subscriptionName":"Sub_1",
"creator":"Person 1",
"details":{
"status":"ACCEPTED",
"reason":"Passed validations"
}
},
{
"subscriptionId":"b8003509",
"subscriptionName":"Sub_2",
"creator":"Person 1",
"details":{
"status":"ACCEPTED",
"reason":"Passed validations"
}
}
]
},
{
"id":"7db80895",
"secondaryId":"11F9BD",
"version":1,
"details":{
"status":"VALID",
"reason":"Passed validations"
},
"subscriptionStatuses":[
{
"subscriptionId":"b8003509",
"subscriptionName":"Sub_2",
"creator":"Person 2",
"details":{
"status":"ACCEPTED",
"reason":"Passed validations"
}
}
]
}
]
}
Я хочу проверить состояние «ПРИНЯТО» и причину «ПРОЙДЕННЫЕ ВАЛИДАЦИИ», которая вложена в 2 массива. Я попытался сохранить причины в виде списка, описанного в этом примере , но получаю следующую ошибку:
код: var list: List<Any> = response.jsonPath().getList("reason")
ошибка: java.lang.IllegalStateException: response.jsonPath().getList("reason") must not be null
Есть ли способ сделать:
for obj in response:
for obj2 in obj.subscriptionStatuses:
assertThat(obj2.status == expected)
assertThat(obj2.reason == expected)