小编iga*_*ete的帖子

尝试使用代理模拟HttpClient时出现WireMock错误

我有一个Http Client,它在现实生活中使用代理将请求发送到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)
        )
      )
Run Code Online (Sandbox Code Playgroud)

测试配置大致如下:

      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)
          )
      )
Run Code Online (Sandbox Code Playgroud)

integration-testing scala http-proxy wiremock akka-http

8
推荐指数
1
解决办法
139
查看次数