Я новичок в wiremock , использую wiremock в моем тесте интеграции с весенней загрузкой для имитации одного из внешних вызовов http.
В моем теле запроса json содержатся два динамических элемента c свойства, все другие поля могут устанавливать и заглушать в запросе только два значения поля не могут быть установлены, поскольку они являются динамическими c значениями.
Поскольку они являются динамическими c по своей природе, я имею в виду Значение свойства - это случайно-автоматически генерируемые значения. Есть ли способ игнорировать эти свойства, а остальные свойства все равно совпадают.
Я знаю, что игнорирование доступно для дополнительных полей и порядка массива
withRequestBody(equalToJson(requestJson, true, true))
true ignoreArrayOrder
true ignoreExtraField
I Хотите узнать, как описано выше, игнорировать функцию, указывающую свойство c (пользователь может указать имя свойства, чтобы свойство, которое он должен игнорировать) было доступно?
У меня есть следующее json тело запроса, которое мне нужно заглушить в проводном посте, поэтому я использую
запрос Json
{
"property_one" : "Anand Sweets",
"property_two" : "Guru Sweets",
"property_three" : "Kranthi Sweets",
"property_four" : auto-generated-number, // dynamic number from code
"property_five" : null,
"propertysix" : " "GST128093",
"property_seven" : auto-generated-number, // dynamic number from code
"property_eight" : 13890139,
"property_nine" : 1290.90,
"property_ten" : "X239GDIJD9090"
}
Stubbing
stubFor(post(urlEqualTo(testUrl))
.withHeader(CUSTKEY, equalTo(CUST_VALUE))
.withHeader(TOKENKEY, equalTo(TOKEN_VALUE))
.withHeader(MATCHKEY, equalTo(MATCH_VALUE))
.withRequestBody(equalToJson(requestJson, true, true))
.willReturn(aResponse()
.withStatus(200)
.withHeader("Content-Type", "application/json")
.withBody(responseJson)
)
);
ответ Json
{
"Success": true,
"message": "request processed successfully",
"success_code": 9000,
"external": "AKALDJKAD138948934"
}
Здесь, в запросе json, у меня есть почти от 60 до 70 свойств, кроме для property_four и property_seven оставшиеся совпадения всех полей происходят правильно.
Я хотел знать, как игнорировать эти два поля с равным Json (запрос Json) в Wiremock, так как они значения полей являются динамическими c по своей природе, я хотел пропустить эти свойства из сопоставления.
У любого есть идея, как пропустить или игнорировать эти свойства, или любое другое хорошее решение этой проблемы.
Я думал об использовании сRequestBody (соответствуя JsonPath (PATH)) , но с огромным и сложным запросом ,
Я чувствовал, что это не правильное решение.
Тело моего запроса настолько сложное, я имею в виду множество полей, например, я упомянул только десять свойств с примерами свойств и значений.
Заранее спасибо, как я уже говорил ранее, я новичок в Wiremock.