【问题标题】:How to unit test certificate exchange in Lumen 5.4如何在 Lumen 5.4 中对证书交换进行单元测试
【发布时间】:2017-08-17 06:34:48
【问题描述】:

我正在开发一个 API 身份验证项目。身份验证是通过向 api 的 https 请求添加客户端证书来实现的。当我使用我的客户端证书卷曲到我的 api 时,一切都很好,而 Lumen 实际上让它变得微不足道。

不那么微不足道的是对此进行单元测试。

有人知道如何在单元测试中建立 HTTPS 连接吗?

自从上一个版本的 lumen 以来,callSecure 方法似乎已经消失了。

假设建立了 HTTPS 连接 - 有谁知道如何轻松设置证书。我希望我可以让单元测试框架设置正确的 $_SERVER 超全局值,这样我就可以使用数据提供程序发送几个不同的证书错误。

我还想模拟注入控制器的模型,以便在我的数据提供程序中提供已知数据,而无需进行任何数据库操作。

我不想做的是编写一些方法来使用真实证书发出整个 curl 请求。

【问题讨论】:

    标签: php laravel unit-testing ssl lumen


    【解决方案1】:

    所以 - 显然这不能像我想要的那样简单。为了测试有问题的代码单元,我必须添加一个“getter”来返回 $_SERVER 数组的副本。然后在我的单元测试中,我模拟控制器对象并覆盖 getter 以返回我可以控制的数据。然后我不使用测试中的调用方法,而是直接调用我正在测试的方法。

    这增加了复杂性,因为我必须在生产代码中进行更多开发,以便我可以进行一些测试 - 但是,额外的开发时间在未来将是非常值得的。

    【讨论】:

      猜你喜欢
      • 2019-07-31
      • 2023-03-17
      • 1970-01-01
      • 1970-01-01
      • 2014-09-07
      • 2016-08-24
      • 2021-10-07
      • 2012-01-08
      • 2019-11-02
      相关资源
      最近更新 更多