From d5f621f3b2330b5ba271df3b12dc07ba556905fc Mon Sep 17 00:00:00 2001 From: sjaanus Date: Thu, 29 Sep 2022 07:53:29 +0200 Subject: [PATCH] Add test for api-token-middleware to not make database call when using PAT (#2110) * Middleware first version * Middleware tests * Add tests * Finish middleware tests * Add type for request * Add flagresolver * Fix snapshot * Update flags and tests * Put it back as default * Update snapshot * Add middleware test --- .../middleware/api-token-middleware.test.ts | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/src/lib/middleware/api-token-middleware.test.ts b/src/lib/middleware/api-token-middleware.test.ts index 79ec88d729..4aecd1d287 100644 --- a/src/lib/middleware/api-token-middleware.test.ts +++ b/src/lib/middleware/api-token-middleware.test.ts @@ -58,6 +58,28 @@ test('should not add user if unknown token', async () => { expect(req.user).toBeFalsy(); }); +test('should not make database query when provided PAT format', async () => { + const apiTokenService = { + getUserForToken: jest.fn(), + }; + + const func = apiTokenMiddleware(config, { apiTokenService }); + + const cb = jest.fn(); + + const req = { + header: jest.fn().mockReturnValue('user:asdkjsdhg3'), + user: undefined, + }; + + await func(req, undefined, cb); + + expect(apiTokenService.getUserForToken).not.toHaveBeenCalled(); + expect(req.header).toHaveBeenCalled(); + expect(cb).toHaveBeenCalled(); + expect(req.user).toBeFalsy(); +}); + test('should add user if known token', async () => { const apiUser = new ApiUser({ username: 'default',