У меня есть Http-клиент, который в реальной жизни использует прокси-сервер для отправки запроса к API. Я пытаюсь использовать WireMock для запуска моих HTTP-клиентских тестов и имитации ответов для API. Однако мне не удалось заставить Wiremock работать с настройкой прокси. Я перепробовал все подходящие комбинации и все еще не смог пройти успешный тест.
Я пробовал viaProxy
конфигурацию, а также proxiedWith
, но не уверен, правильно ли я их использую. Документация тоже не сильно помогает.
Клиентский код имеет следующую конфигурацию:
private val httpsProxySettings: ConnectionPoolSettings =
ConnectionPoolSettings(actorSystem)
.withConnectionSettings(ClientConnectionSettings(actorSystem))
.withTransport(
ClientTransport.httpsProxy(
InetSocketAddress.createUnresolved(PROXY_HOST, PROXY_PORT)
)
)
И тестовая конфигурация выглядит следующим образом:
val wireMockServer = new WireMockServer(
wireMockConfig().port(API_PORT).proxyVia(PROXY_HOST, PROXY_PORT)
)
wireMockServer.start()
WireMock.configureFor("localhost", API_PORT)
wireMockServer.stubFor(
put(anyUrl())
.willReturn(
aResponse()
.withStatus(201)
// .proxiedFrom(API_HOST)
)
)