如何在服务器的js条纹测试中测试Stripe的RateLimitError
和StripePermissionError
?最好的方法是什么?
我希望在Stripe的Testing for specific responses and errors documentation中找到一些东西,例如如何使用tok_chargeDeclined
模拟拒绝的费用。不幸的是,我似乎什么也找不到,搜索此问题时结果有限。
答案 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"
}
}