Я пытаюсь проверить ответ json с помощью проверки схемы json по каратэ.Я уже использовал это много раз во многих отношениях, и в этом простом примере я не могу понять, что не так.Вот ответ, который я получаю:
* def response =
"""
[{
"id" : "1111",
"surname" : "Debby",
"name" : "Johns",
"status" : "MARRIED",
"rooms" : [{
"number" : "2",
"state" : "clean",
"owner" : {
"name" : "Mrs Johns",
"address" : "New York",
"birth_date" : 1555493518,
"birth_place" : "Jersey",
"phone_number" : "078******1"
},
"keys" : [{
"id" : "aaa",
"color" : "blue"
}]
}],
"creation_date" : 1555493458,
"left" : false
}]
"""
А вот схема:
* def ownerSchema =
"""
{
name: '#string',
address: '##string',
birth_date: '##number',
birth_place: '##string',
phone_number: '##string'
}
"""
* def keySchema =
"""
{
id: '#string',
color: '#string'
}
"""
* def roomSchema =
"""
{
number: '#string',
state: '#string',
owner: "#('##(ownerSchema)')",
keys: '##[] keySchema'
}
"""
* def clientSchema =
"""
{
id: '#string',
surname: '##string',
name: '#string',
status: '#string',
creation_date: '#number',
left: '#boolean',
rooms: '#[] roomSchema'
}
"""
Когда я пытаюсь проверить это: * соответствовать каждому ответу == clientSchema
Ошибка: отсутствует свойство в пути $ [0] ['rooms'] Это сводит меня с ума, я не могу найти.