在 akka http 中启用 tls 的单元测试

Unit testing of tls enabled in akka http

我在我的应用程序中启用了 tls 以使用 HTTPS 而不是 HTTP。现在我想写它的单元测试。

 path("Ping") {
      complete("Pong")
    } 
Get("/Ping") ~> routes ~> check {
          status shouldEqual StatusCodes.OK
        }

所以我希望它 如果使用 http 发送请求会中断,并且仅当使用 https 发送时才能工作

我尝试了很多在网上找到的东西。

任何人都可以帮助我如何测试它。

谢谢

Akka Http TestKit 旨在测试您的路由功能,而不是路由的服务方式。

路由服务机制(普通 text/ssl)在您绑定到 http 端口时受到控制,如下面的代码

Http().newServerAt("127.0.0.1", 8080).enableHttps(https).bind(routes)

有关详细信息,请参阅 docs

因此,您只能在集成测试的帮助下测试您的 https 设置,在集成测试中您启动应用程序并使用真正的 http 客户端而不是 akka-http-testkit 通过 https。如何做不在本题讨论范围内。