From 2781f53d6b60fdb45ddc4344aefd3b39fb7a8bfd Mon Sep 17 00:00:00 2001 From: Hazelnoot Date: Sun, 8 Dec 2024 08:32:05 -0500 Subject: support fractional rate limit scaling --- .../test/unit/server/api/SkRateLimiterServiceTests.ts | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) (limited to 'packages/backend/test/unit') diff --git a/packages/backend/test/unit/server/api/SkRateLimiterServiceTests.ts b/packages/backend/test/unit/server/api/SkRateLimiterServiceTests.ts index 711894095d..07bcfb6309 100644 --- a/packages/backend/test/unit/server/api/SkRateLimiterServiceTests.ts +++ b/packages/backend/test/unit/server/api/SkRateLimiterServiceTests.ts @@ -424,14 +424,13 @@ describe(SkRateLimiterService, () => { expect(info.blocked).toBeFalsy(); }); - it('should scale limit by factor', async () => { + it('should scale interval by factor', async () => { minCounter = { c: 1, t: 0 }; + mockTimeService.now += 500; - const i1 = await serviceUnderTest().limit(limit, actor, 2); // 1 + 1 = 2 - const i2 = await serviceUnderTest().limit(limit, actor, 2); // 2 + 1 = 3 + const info = await serviceUnderTest().limit(limit, actor, 2); - expect(i1.blocked).toBeFalsy(); - expect(i2.blocked).toBeTruthy(); + expect(info.blocked).toBeFalsy(); }); it('should set key expiration', async () => { @@ -662,12 +661,14 @@ describe(SkRateLimiterService, () => { expect(info.blocked).toBeFalsy(); }); - it('should scale limit by factor', async () => { - minCounter = { c: 5, t: 0 }; + it('should scale limit and interval by factor', async () => { + counter = { c: 5, t: 0 }; + minCounter = { c: 1, t: 0 }; + mockTimeService.now += 500; const info = await serviceUnderTest().limit(limit, actor, 2); - expect(info.blocked).toBeTruthy(); + expect(info.blocked).toBeFalsy(); }); it('should set key expiration', async () => { -- cgit v1.2.3-freya