Я готовлю контракты на внешнее обслуживание, от которого мы зависим.
Одним из полей в запросе является коллекция, ее размер может варьироваться.
В простейшем случае у меня есть коллекция строк.
Как определить запрос, чтобы он позволял сопоставить каждый элемент в этой коллекции с заданным регулярным выражением, и в то же время позволяет мне проверять настоящий API со значениями, которые я указал?
Я полагаю, это выглядело бы примерно так:
request {
method 'POST'
url "/abc"
body([
"someToken: $(
consumer(regex('[a-zA-Z0-9=]+')),
producer("asdgwrg92jgwd0vA")
),
"someCollection": [$(
consumer(regex('[A-Z]{5}')),
producer('"ASDFF","ASDGG"')
]
])
headers {
contentType(applicationJson())
}
}
Я могу протестировать реальный сервис только с таким телом запроса:
{
"someToken":"asdgwrg92jgwd0vA",
"someCollection":[
"ASDFF","ASDGG"
]
}
Но мой сервис может производить такие:
{
"someToken":"adgwrgsh",
"someCollection":[
"ASDFG"
]
}
Ситуация становится сложнее с коллекцией объектов ...
Я искал ответ в официальных документах, и были описаны некоторые возможности, но я не смог их найтив образцах: /