UNPKG

@berlingske-media/bm.node-module.gateway_jwt

Version:

AuthGateway JWT verification library based on public JWKS endpoint

45 lines 1.81 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const tslib_1 = require("tslib"); const JwksClient_1 = require("./JwksClient"); const node_http_1 = tslib_1.__importDefault(require("node:http")); const express_1 = tslib_1.__importDefault(require("express")); const keys_1 = require("./keys"); describe('JwksClient', () => { const jwksHost = 'http://localhost:5559'; let server; let app; beforeAll(() => { server = (0, express_1.default)(); server.get('/.well-known/jwks.json', function (req, res) { return res.status(200).json({ keys: keys_1.keys }); }); app = server.listen({ port: 5559 }); }); afterAll(() => tslib_1.__awaiter(void 0, void 0, void 0, function* () { yield new Promise((resolve) => app.close(resolve)); })); describe('#getKeys', () => { it('should handle errors', () => tslib_1.__awaiter(void 0, void 0, void 0, function* () { jest.spyOn(node_http_1.default, 'request').mockImplementationOnce((options, callback) => { const req = new node_http_1.default.ClientRequest(options); process.nextTick(() => { req.emit('error', new Error('Internal Server Error')); }); return req; }); const client = new JwksClient_1.JwksClient({ jwksUri: `${jwksHost}/.well-known/jwks.json`, }); try { yield client.getKeys(); throw new Error('should have thrown error'); } catch (err) { expect(err).not.toBeNull(); expect(err.message).toEqual('Internal Server Error'); } })); }); }); //# sourceMappingURL=JwksClient.test.js.map