@berlingske-media/bm.node-module.gateway_jwt
Version:
AuthGateway JWT verification library based on public JWKS endpoint
45 lines • 1.81 kB
JavaScript
;
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