有没有一种方法可以清除graphql-rate-limit默认的内存存储上下文?

时间:2020-07-29 20:31:18

标签: express graphql mocha e2e-testing apollo-server

我正在使用apollo-server-express编写GraphQL API。

我使用graphql-rate-limit指令方法对登录查询实施了速率限制。我使用客户端IP来标识上下文,并使用程序包提供的默认InMemoryStore。 window的值为60s,而max的值为10。速率限制实施正在按预期进行。

但是我使用Mocha,Chai和graphql-request编写了安全性e2e测试,并且速率限制(如预期的那样)总是使它出错。发生这种情况是因为我需要在每组测试之前执行登录查询以获取令牌。但是,即使我只是在没有请求API的情况下设置了有效令牌,它也可能会返回错误。

在其他测试中,我只是禁用了速率限制。但是对于安全性而言,这没有任何意义。

是否有一种方法可以清除存储的上下文以避免该问题?例如,为此目的创建一个变异,或在标头中传递一个值(两者都在开发/测试环境中才启用)。

谢谢。

0 个答案:

没有答案