20 lines
694 B
TypeScript
20 lines
694 B
TypeScript
import { TbankCrypto } from './tbank.crypto';
|
|
|
|
describe('TbankCrypto', () => {
|
|
it('round-trips a token and rejects a malformed key', () => {
|
|
const crypto = TbankCrypto.fromBase64(
|
|
'MDEyMzQ1Njc4OWFiY2RlZjAxMjM0NTY3ODlhYmNkZWY=',
|
|
);
|
|
const encrypted = crypto.encrypt('secret-token');
|
|
const replacement = crypto.encrypt('secret-token');
|
|
|
|
expect(encrypted).not.toContain('secret-token');
|
|
expect(replacement).not.toBe(encrypted);
|
|
expect(crypto.decrypt(encrypted)).toBe('secret-token');
|
|
expect(crypto.decrypt(replacement)).toBe('secret-token');
|
|
expect(() => TbankCrypto.fromBase64('invalid')).toThrow(
|
|
'Invalid token encryption key',
|
|
);
|
|
});
|
|
});
|