Skip to content

Commit 8fc9304

Browse files
committed
Fixed redis tests now we’re not providing a client
1 parent 68211e1 commit 8fc9304

File tree

2 files changed

+324
-301
lines changed

2 files changed

+324
-301
lines changed

apps/webapp/test/authorizationRateLimitMiddleware.test.ts

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,9 @@ describe.skipIf(process.env.GITHUB_ACTIONS)("authorizationRateLimitMiddleware",
2222
app = express();
2323
});
2424

25-
redisTest("should allow requests within the rate limit", async ({ redis }) => {
25+
redisTest("should allow requests within the rate limit", async ({ redisOptions }) => {
2626
const rateLimitMiddleware = authorizationRateLimitMiddleware({
27-
redis: redis.options,
27+
redis: redisOptions,
2828
keyPrefix: "test",
2929
defaultLimiter: {
3030
type: "tokenBucket",
@@ -53,9 +53,9 @@ describe.skipIf(process.env.GITHUB_ACTIONS)("authorizationRateLimitMiddleware",
5353
expect(response.headers["x-ratelimit-reset"]).toBeDefined();
5454
});
5555

56-
redisTest("should reject requests without an Authorization header", async ({ redis }) => {
56+
redisTest("should reject requests without an Authorization header", async ({ redisOptions }) => {
5757
const rateLimitMiddleware = authorizationRateLimitMiddleware({
58-
redis: redis.options,
58+
redis: redisOptions,
5959
keyPrefix: "test",
6060
defaultLimiter: {
6161
type: "tokenBucket",
@@ -77,9 +77,9 @@ describe.skipIf(process.env.GITHUB_ACTIONS)("authorizationRateLimitMiddleware",
7777
expect(response.body).toHaveProperty("title", "Unauthorized");
7878
});
7979

80-
redisTest("should reject requests that exceed the rate limit", async ({ redis }) => {
80+
redisTest("should reject requests that exceed the rate limit", async ({ redisOptions }) => {
8181
const rateLimitMiddleware = authorizationRateLimitMiddleware({
82-
redis: redis.options,
82+
redis: redisOptions,
8383
keyPrefix: "test",
8484
defaultLimiter: {
8585
type: "tokenBucket",
@@ -105,9 +105,9 @@ describe.skipIf(process.env.GITHUB_ACTIONS)("authorizationRateLimitMiddleware",
105105
expect(response.body).toHaveProperty("title", "Rate Limit Exceeded");
106106
});
107107

108-
redisTest("should not apply rate limiting to whitelisted paths", async ({ redis }) => {
108+
redisTest("should not apply rate limiting to whitelisted paths", async ({ redisOptions }) => {
109109
const rateLimitMiddleware = authorizationRateLimitMiddleware({
110-
redis: redis.options,
110+
redis: redisOptions,
111111
keyPrefix: "test",
112112
defaultLimiter: {
113113
type: "tokenBucket",
@@ -135,9 +135,9 @@ describe.skipIf(process.env.GITHUB_ACTIONS)("authorizationRateLimitMiddleware",
135135

136136
redisTest(
137137
"should apply different rate limits based on limiterConfigOverride",
138-
async ({ redis }) => {
138+
async ({ redisOptions }) => {
139139
const rateLimitMiddleware = authorizationRateLimitMiddleware({
140-
redis: redis.options,
140+
redis: redisOptions,
141141
keyPrefix: "test",
142142
defaultLimiter: {
143143
type: "tokenBucket",
@@ -185,9 +185,9 @@ describe.skipIf(process.env.GITHUB_ACTIONS)("authorizationRateLimitMiddleware",
185185

186186
describe("Advanced Cases", () => {
187187
// 1. Test different rate limit configurations
188-
redisTest("should enforce fixed window rate limiting", async ({ redis }) => {
188+
redisTest("should enforce fixed window rate limiting", async ({ redisOptions }) => {
189189
const rateLimitMiddleware = authorizationRateLimitMiddleware({
190-
redis: redis.options,
190+
redis: redisOptions,
191191
keyPrefix: "test-fixed",
192192
defaultLimiter: {
193193
type: "fixedWindow",
@@ -221,9 +221,9 @@ describe.skipIf(process.env.GITHUB_ACTIONS)("authorizationRateLimitMiddleware",
221221
expect(newResponse.status).toBe(200);
222222
});
223223

224-
redisTest("should enforce sliding window rate limiting", async ({ redis }) => {
224+
redisTest("should enforce sliding window rate limiting", async ({ redisOptions }) => {
225225
const rateLimitMiddleware = authorizationRateLimitMiddleware({
226-
redis: redis.options,
226+
redis: redisOptions,
227227
keyPrefix: "test-sliding",
228228
defaultLimiter: {
229229
type: "slidingWindow",
@@ -265,9 +265,9 @@ describe.skipIf(process.env.GITHUB_ACTIONS)("authorizationRateLimitMiddleware",
265265
});
266266

267267
// 2. Test edge cases around rate limit calculations
268-
redisTest("should handle token refill correctly", async ({ redis }) => {
268+
redisTest("should handle token refill correctly", async ({ redisOptions }) => {
269269
const rateLimitMiddleware = authorizationRateLimitMiddleware({
270-
redis: redis.options,
270+
redis: redisOptions,
271271
keyPrefix: "test-refill",
272272
defaultLimiter: {
273273
type: "tokenBucket",
@@ -306,9 +306,9 @@ describe.skipIf(process.env.GITHUB_ACTIONS)("authorizationRateLimitMiddleware",
306306
expect(limitedAgainResponse.status).toBe(429);
307307
});
308308

309-
redisTest("should handle near-zero remaining tokens correctly", async ({ redis }) => {
309+
redisTest("should handle near-zero remaining tokens correctly", async ({ redisOptions }) => {
310310
const rateLimitMiddleware = authorizationRateLimitMiddleware({
311-
redis: redis.options,
311+
redis: redisOptions,
312312
keyPrefix: "test-near-zero",
313313
defaultLimiter: {
314314
type: "tokenBucket",
@@ -353,10 +353,10 @@ describe.skipIf(process.env.GITHUB_ACTIONS)("authorizationRateLimitMiddleware",
353353
});
354354

355355
// 3. Test the limiterCache functionality
356-
redisTest("should use cached limiter configurations", async ({ redis }) => {
356+
redisTest("should use cached limiter configurations", async ({ redisOptions }) => {
357357
let configOverrideCalls = 0;
358358
const rateLimitMiddleware = authorizationRateLimitMiddleware({
359-
redis: redis.options,
359+
redis: redisOptions,
360360
keyPrefix: "test-cache",
361361
defaultLimiter: {
362362
type: "tokenBucket",

0 commit comments

Comments
 (0)