UNPKG

@microsoft/useragent-sdk

Version:

SDK for building decentralized identity wallets and enterprise agents.

53 lines 2.88 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); /*--------------------------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ const JoseHelpers_1 = require("../../../../src/crypto/protocols/jose/JoseHelpers"); const CryptoProtocolError_1 = require("../../../../src/crypto/protocols/CryptoProtocolError"); const typescript_map_1 = require("typescript-map"); const KeyTypeFactory_1 = require("../../../../src/crypto/keys/KeyTypeFactory"); describe('JoseHelpers', () => { // Disabling the test below to unblock identiverse demo. Refactoring // required before we can re-enable or remove. xit('should return header status from headerHasElements', () => { const header = new typescript_map_1.TSMap(); expect(JoseHelpers_1.default.headerHasElements(header)).toBeFalsy(); // tslint:disable-next-line: no-backbone-get-set-outside-model header.set('key', 'value'); expect(JoseHelpers_1.default.headerHasElements(header)).toBeTruthy(); }); it('should encode headers', () => { const header = new typescript_map_1.TSMap(); let encoded = JoseHelpers_1.default.encodeHeader(header); expect(encoded).toEqual('e30'); encoded = JoseHelpers_1.default.encodeHeader(header, false); expect(encoded).toEqual('{}'); // tslint:disable-next-line: no-backbone-get-set-outside-model header.set('key', 'value'); encoded = JoseHelpers_1.default.encodeHeader(header); expect(encoded).toEqual('eyJrZXkiOiJ2YWx1ZSJ9'); encoded = JoseHelpers_1.default.encodeHeader(header, false); expect(encoded).toEqual('{"key":"value"}'); }); it('should throw because header element does not exist', () => { let throwed = false; try { JoseHelpers_1.default.getOptionsProperty('xxxx', undefined, undefined); } catch (err) { throwed = true; expect(err.message).toBe(`The property 'xxxx' is missing from options`); expect(err.constructor === CryptoProtocolError_1.default).toBeTruthy(); } expect(throwed).toBeTruthy(); }); it(`should return the key type for 'EC' via JWA`, () => { expect(JoseHelpers_1.default.createTypeViaJwa('ES256K')).toEqual(KeyTypeFactory_1.KeyType.EC); }); it(`should return the key type for 'RSA' via JWA`, () => { expect(JoseHelpers_1.default.createTypeViaJwa('RS256')).toEqual(KeyTypeFactory_1.KeyType.RSA); }); }); //# sourceMappingURL=JoseHelpers.spec.js.map