Я пытаюсь создать mocks для моей процедуры входа. Я использую метод POST с несколькими полями и объектом входа (с логином, паролем и т. Д.) Для этого я использую JsonPath. Код ниже:Соответствующие данные в JsonPath с wiremock
{
"request": {
"method": "POST",
"url": "/login",
"bodyPatterns" : [
{"matchesJsonPath" : "$.method"},
{"matchesJsonPath" : "$.params[?(@.clientVersion == "1")]"},
{"matchesJsonPath" : "$.params.login"},
{"matchesJsonPath" : "$.params.password"}
]
},
"response": {
"status": 200,
"bodyFileName": "login.json"
}
}
Я проверяю clientVersion, потому что это похоже на примеры.
Моя проблема в том, что с тэ данной JSON POST:
{
"method": "login",
"params": {
"clientVersion": "1",
"login": "[email protected]",
"password": "681819535da188b6ef2"
}
}
Я получаю 404. Однако, когда я изменяю
{"matchesJsonPath" : "$.params[?(@.clientVersion == "1")]"},
нормальным
{"matchesJsonPath" : "$.params.clientVersion"},
все работает просто хорошо.
Итак - как проверить внутри wiremock, используя matchJsonPath, если заданное поле равно некоторому значению? Как применить его к корневому полю, например, в моем случае? И пока мы на нем - у меня были схожие проблемы с проверкой, не имеет ли значение значение null. Я пытался применять регулярные выражения, и это - не повезло.