Отображение по телу запроса использует два совпадения - PullRequest
0 голосов
/ 01 марта 2019

У меня есть http запрос с телом:

 endpoint = http://127.0.0.1:54400/json
reqBody:
{                                                                                                                                                                                                                                            
    "action": "Handler:GET_DICTIONARY",
    "locale": "ro",
    "data": {"dictionary_type":"MTS"}
}

Мне нужно получить ответ с заглушкой.Вот мое отображение Wiremock:

{
  "request": {
    "method": "POST",
    "bodyPatterns": [
      {
        "contains": "Handler:GET_DICTIONARY"
      }
    ]
  },
  "response": {
    "headers": {
      "Content-Type": "application/json"
    },
    "status": 200,
    "fixedDelayMilliseconds": 3000,
    "bodyFileName": "t2a/micb/webclient/_mts_response.json"
  }
}

Но у меня есть много других запросов этого тела запроса контента с текстом:

"Handler:GET_DICTIONARY"

Так что в результате мне нужно сопоставить такжена

"dictionary_type":"MTS"

потому что текст

и "dictionary_type":"MTS" И "Handler:GET_DICTIONARY" создать УНИКАЛЬНЫЙ запрос.

Так какЯ могу сопоставить по телу запроса использовать эти два совпадения?

1 Ответ

0 голосов
/ 25 марта 2019

Я бы предложил добавить "matchJsonPath" в дополнение к вашему "содержит"

"bodyPatterns": [
        {
            "matchesJsonPath": "$.data[?(@.dictionary_type == 'MTS')]"
        }
]

Это гарантирует, что весь запрос с dictionary_type = MTS будет сопоставлен с этим ответом.

...