Запросить подтверждение заказа с WireMock - PullRequest
0 голосов
/ 02 апреля 2019

У меня есть API, который я должен ставить несколько раз в определенном порядке. Я тестирую своего клиента с помощью WireMock, и я хотел бы проверить в своем тесте, что запросы были сделаны в правильном порядке.

Поскольку этот API будет возвращать 204 No Content, моему коду не требуется результат предыдущих запросов для выполнения следующего, что, как мне кажется, исключает сценарии WireMock.

Итак, есть ли в WireMock функция, похожая на inOrder?

в Mockito.

1 Ответ

0 голосов
/ 05 апреля 2019

Этого можно добиться с помощью функции WireMock Scenario , пример которой приведен в документации:

Например, предположим, что мы пишем список дел, состоящий из какого-то богатого клиента, разговаривающего с сервисом REST. Мы хотим проверьте, что наш пользовательский интерфейс может прочитать список дел, добавить элемент и обновить сам, показывая обновленный список.

{
    "scenarioName": "To do list",
    "requiredScenarioState": "Started",
    "request": {
        "method": "GET",
        "url": "/todo/items"
    },
    "response": {
        "status": 200,
        "body" : "<items><item>Buy milk</item></items>"
    }
}

{
    "scenarioName": "To do list",
    "requiredScenarioState": "Started",
    "newScenarioState": "Cancel newspaper item added",
    "request": {
        "method": "POST",
        "url": "/todo/items",
        "bodyPatterns": [
            { "contains": "Cancel newspaper subscription" }
         ]
    },
    "response": {
        "status": 201
    }
}

{
    "scenarioName": "To do list",
    "requiredScenarioState": "Cancel newspaper item added",
    "request": {
        "method": "GET",
        "url": "/todo/items"
    },
    "response": {
        "status": 200,
        "body" : "<items><item>Buy milk</item><item>Cancel newspaper subscription</item></items>"
    }
}
...