如何编写Stripe的“ RateLimitError”和“ StripePermissionError”错误的测试?

时间:2019-01-15 22:24:43

标签: javascript testing stripe-payments rate-limiting

如何在服务器的js条纹测试中测试Stripe的RateLimitErrorStripePermissionError?最好的方法是什么?

我希望在Stripe的Testing for specific responses and errors documentation中找到一些东西,例如如何使用tok_chargeDeclined模拟拒绝的费用。不幸的是,我似乎什么也找不到,搜索此问题时结果有限。

2 个答案:

答案 0 :(得分:1)

使用Nock https://www.npmjs.com/package/nock,它将使您拦截http请求,并模拟特定的响应。在条带SDK中找到该方法调用的特定端点,然后提供与条带匹配的错误响应。那应该为您提供良好的测试基础。

答案 1 :(得分:0)

直接在Stripe的支持下:

  • RateLimitError-没有可用于测试该特定错误代码的预定义令牌。任何人都无法达到我们的速率限制。但是,如果您仍然希望安全起见(或达到100%的代码覆盖率),则可以使用像nock这样的库来模拟429 HTTP响应。

  • StripePermissionError-您可以通过在Stripe仪表板中创建具有受限权限的测试API密钥来模拟此操作。在左侧面板“开发人员”部分下的“ API密钥”中,您会找到“受限密钥”部分。在这里您可以创建只能访问费用的密钥。然后,当您尝试使用新的测试密钥创建客户时,您会收到403 HTTP错误响应,并显示一条错误消息。

示例403错误:

{
  error: {
    message: "The provided key 'rk_test_123' does not have the required permissions for this endpoint on account 'acct_123'. Having the 'rak_customer_write' permission would allow this request to continue.",
    type: "invalid_request_error"
  }
}