mirror of
https://github.com/fullstack-cash/bch-api.git
synced 2026-09-21 16:52:04 -07:00
fix(rate-limit.js): Refactored to use JS Class
This commit is contained in:
@@ -18,7 +18,7 @@ util.inspect.defaultOptions = { depth: 1 }
|
||||
const SERVER = `http://localhost:3000/v3/`
|
||||
|
||||
const TEST_JWT =
|
||||
"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjVkYTc5ZDk4OTYyMjRjNjM2MmQwYzkwMiIsImlhdCI6MTU3MTUzOTU1MSwiZXhwIjoxNTc0MTMxNTUxfQ.PfPW_Z2NYT1O2zUHXopcz2aLGHSGudaKOIGnt7SuAi4"
|
||||
"eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjVlM2EwNDE1ZWIyOWE5NjJkYTI3MDhiNCIsImFwaUxldmVsIjowLCJyYXRlTGltaXQiOjEwLCJpYXQiOjE1ODA4NjA0NjcsImV4cCI6MTU4MzQ1MjQ2N30.fuY5S-YrF0J11h5uyMjPe7wiVkYRnIyXi4dL9-V-C6pLJm33p0dSq_pSheVVWw78n5kAvL_9kFHngbnmQiOJYQ"
|
||||
|
||||
describe("#rate limits", () => {
|
||||
it("should get control/getNetworkInfo() with no auth", async () => {
|
||||
|
||||
+20
-13
@@ -12,7 +12,10 @@ util.inspect.defaultOptions = { depth: 1 }
|
||||
const { mockReq, mockRes, mockNext } = require("./mocks/express-mocks")
|
||||
|
||||
// Libraries under test
|
||||
let rateLimitMiddleware = require("../../src/middleware/route-ratelimit")
|
||||
const RateLimits = require("../../src/middleware/route-ratelimit")
|
||||
const rateLimits = new RateLimits()
|
||||
let rateLimitMiddleware = rateLimits.routeRateLimit
|
||||
|
||||
const controlRoute = require("../../src/routes/v3/full-node/control")
|
||||
const jwtAuth = require("../../src/middleware/jwt-auth")
|
||||
|
||||
@@ -74,6 +77,7 @@ describe("#route-ratelimits & jwt-auth", () => {
|
||||
})
|
||||
|
||||
describe("#routeRateLimit", () => {
|
||||
rateLimitMiddleware = new RateLimits()
|
||||
let routeRateLimit = rateLimitMiddleware.routeRateLimit
|
||||
const getInfo = controlRoute.testableComponents.getInfo
|
||||
|
||||
@@ -112,10 +116,11 @@ describe("#route-ratelimits & jwt-auth", () => {
|
||||
|
||||
it("should NOT trigger rate-limit for free-tier at 5 RPM", async () => {
|
||||
// Clear the require cache before running this test.
|
||||
delete require.cache[
|
||||
require.resolve("../../src/middleware/route-ratelimit")
|
||||
]
|
||||
rateLimitMiddleware = require("../../src/middleware/route-ratelimit")
|
||||
// delete require.cache[
|
||||
// require.resolve("../../src/middleware/route-ratelimit")
|
||||
// ]
|
||||
// rateLimitMiddleware = require("../../src/middleware/route-ratelimit")
|
||||
rateLimitMiddleware = new RateLimits()
|
||||
routeRateLimit = rateLimitMiddleware.routeRateLimit
|
||||
|
||||
req.baseUrl = "/v3"
|
||||
@@ -167,10 +172,11 @@ describe("#route-ratelimits & jwt-auth", () => {
|
||||
|
||||
it("should NOT trigger rate-limit handler for pro-tier at 25 RPM", async () => {
|
||||
// Clear the require cache before running this test.
|
||||
delete require.cache[
|
||||
require.resolve("../../src/middleware/route-ratelimit")
|
||||
]
|
||||
rateLimitMiddleware = require("../../src/middleware/route-ratelimit")
|
||||
// delete require.cache[
|
||||
// require.resolve("../../src/middleware/route-ratelimit")
|
||||
// ]
|
||||
// rateLimitMiddleware = require("../../src/middleware/route-ratelimit")
|
||||
rateLimitMiddleware = new RateLimits()
|
||||
routeRateLimit = rateLimitMiddleware.routeRateLimit
|
||||
|
||||
req.baseUrl = "/v3"
|
||||
@@ -199,10 +205,11 @@ describe("#route-ratelimits & jwt-auth", () => {
|
||||
|
||||
it("rate-limiting should still kick in at a higher RPM for pro-tier", async () => {
|
||||
// Clear the require cache before running this test.
|
||||
delete require.cache[
|
||||
require.resolve("../../src/middleware/route-ratelimit")
|
||||
]
|
||||
rateLimitMiddleware = require("../../src/middleware/route-ratelimit")
|
||||
// delete require.cache[
|
||||
// require.resolve("../../src/middleware/route-ratelimit")
|
||||
// ]
|
||||
// rateLimitMiddleware = require("../../src/middleware/route-ratelimit")
|
||||
rateLimitMiddleware = new RateLimits()
|
||||
routeRateLimit = rateLimitMiddleware.routeRateLimit
|
||||
|
||||
req.baseUrl = "/v3"
|
||||
|
||||
Reference in New Issue
Block a user