component-dbs-core
Version:
DTO objects shared among device backend
61 lines • 3.35 kB
JavaScript
;
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const jwtLib_1 = __importDefault(require("./jwtLib"));
const mock_jwks_1 = __importDefault(require("mock-jwks"));
describe('JwtLib test suite', () => {
const jwks = mock_jwks_1.default('https://zeller-dev.au.auth0.com/');
const welKnownUrl = 'https://zeller-dev.au.auth0.com/.well-known/jwks.json';
const underTest = new jwtLib_1.default({
auth0JwtIssuer: 'zeller',
auth0JwtMaxAge: 3600,
auth0UrlJwtWellKnown: welKnownUrl,
});
beforeEach(() => {
jwks.start();
});
afterEach(() => {
jwks.stop();
});
it('should verify the token', () => __awaiter(void 0, void 0, void 0, function* () {
const expected = { iss: 'zeller', iat: Date.now() };
const token = jwks.token(expected);
console.log(token);
const data = yield underTest.decodeJwt(token);
expect(data).toEqual(expected);
}));
it('should fail with incorrect issuer', () => __awaiter(void 0, void 0, void 0, function* () {
const expected = { iss: 'zeller_incorrect', iat: Date.now() };
const token = jwks.token(expected);
console.log(token);
expect(underTest.decodeJwt(token)).rejects.toThrowError();
}));
it('should fail with malformed token', () => __awaiter(void 0, void 0, void 0, function* () {
const token = "malformed token";
expect(underTest.decodeJwt(token)).rejects.toThrowError();
}));
});
describe('JwtLib test suite', () => {
const welKnownUrl = 'https://bad-url.auth0.com/.well-known/jwks.json';
const underTest = new jwtLib_1.default({
auth0JwtIssuer: 'zeller',
auth0JwtMaxAge: 3600,
auth0UrlJwtWellKnown: welKnownUrl,
});
it('should fail getting JWT signing keys', () => __awaiter(void 0, void 0, void 0, function* () {
const token = "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaXNzIjoiemVsbGVyIiwiYWRtaW4iOnRydWUsImlhdCI6MTUxNjIzOTAyMn0.kCmzLzSPU3gzrIVGkdr0uCAdLKgtg_8JCxrzPIF1TDM8niDbkcEBq4zIEE3HY-RzgJJO_U7Nma_sCNkCL_Wj8FFgwvsY4WBJoLquYrdxfsXFNgKgAmwiVqdOJMph4DmP5SjIfwBak6e51_g1Y_pFjSAkCUjvNI6B1ZekD3TUc4kij_vo-UBiPuCqXufdMsR6KwN4DkLNUha3B5HldRZ1NKjvx5Am7jQf8YWPT6TnVfjUS8Gzw9I7H3oDe0KvS-1t1MCbO5NPbVIkl14hQYBR_TX7X753CI8lq6KRb042_D-QPcxBPgtAwi2uLa4lzwd97KdcqujolYgsn98mKuRxQQ";
yield expect(underTest.decodeJwt(token)).rejects.toBeTruthy();
}));
});
//# sourceMappingURL=jwtLib.spec.js.map