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

В моем проекте более 100 микросервисов. В моем случае я хочу протестировать свой микросервис независимо от любого другого внешнего сервиса.

Сценарий моего микросервиса "A" - основной номер хрустающего микросервиса , который я собираюсь протестировать независимо от других внешних сервисов. В моем сценарии Actor запрашивает «A» для выполнения действия, а затем «A» получает некоторые данные из «B», «D», «C», выполняет сложную логику и возвращает ответ обратно Actor

.

enter image description here

Для независимой проверки A я намереваюсь использовать Wiremock до запись различные запрос-ответ от A к другим микросервисам (B, C, D)

Как я понял из документации Wiremock, чтобы использовать функцию записи Wiremock, мы не можем - proxy-all to target services относительно клиента, а затем запросить host: порт Wiremock, который, в свою очередь, переходит к фактическому сервису, и записывается запрос / ответ.

Но в моем случае это невозможно, поскольку я нахожусь в мире микросервисов. Служба «B», «C», «D» работает на произвольном порту, и в моем реальном сценарии A получает адрес B из реестра служб, поэтому даже если я вручную запусту много Wiremock с прокси-службами назначения, я не смогу воспроизвести запрос на Wiremock (который, в свою очередь, получает доступ к сервису).

Итак, как записать желаемый запрос и ответ (от целевого микросервиса "A" к "B", "C" и "D".

...