gpg/__tests__/openpgp.test.ts

50 lines
1.7 KiB
TypeScript
Raw Normal View History

2020-05-12 14:30:44 -04:00
import * as fs from 'fs';
import * as openpgp from '../src/openpgp';
2020-05-03 14:46:05 -04:00
const userInfo = {
2020-05-12 14:30:44 -04:00
pgp: fs.readFileSync('.github/test-key.pgp', {
encoding: 'utf8',
flag: 'r'
}),
passphrase: fs.readFileSync('.github/test-key.pass', {
encoding: 'utf8',
flag: 'r'
}),
2020-05-03 14:46:05 -04:00
name: 'Joe Tester',
email: 'joe@foo.bar',
keyID: 'D523BD50DD70B0BA',
fingerprint: '27571A53B86AF0C799B38BA77D851EB72D73BDA0',
2020-05-12 14:30:44 -04:00
keygrip: '3E2D1142AA59E08E16B7E2C64BA6DDC773B1A627'
2020-05-03 14:46:05 -04:00
};
describe('openpgp', () => {
describe('readPrivateKey', () => {
it('returns a PGP private key from an armored string', async () => {
await openpgp.readPrivateKey(userInfo.pgp).then(privateKey => {
2020-05-03 14:46:05 -04:00
expect(privateKey.keyID).toEqual(userInfo.keyID);
expect(privateKey.name).toEqual(userInfo.name);
expect(privateKey.email).toEqual(userInfo.email);
2020-05-03 14:46:05 -04:00
expect(privateKey.fingerprint).toEqual(userInfo.fingerprint);
});
});
it('returns a PGP private key from a base64 armored string', async () => {
await openpgp.readPrivateKey(Buffer.from(userInfo.pgp).toString('base64')).then(privateKey => {
expect(privateKey.keyID).toEqual(userInfo.keyID);
expect(privateKey.name).toEqual(userInfo.name);
expect(privateKey.email).toEqual(userInfo.email);
expect(privateKey.fingerprint).toEqual(userInfo.fingerprint);
});
});
2020-05-03 14:46:05 -04:00
});
describe('generateKeyPair', () => {
it('generates a PGP key pair', async () => {
await openpgp.generateKeyPair(userInfo.name, userInfo.email, userInfo.passphrase).then(keyPair => {
2020-05-03 14:46:05 -04:00
expect(keyPair).not.toBeUndefined();
expect(keyPair.publicKey).not.toBeUndefined();
expect(keyPair.privateKey).not.toBeUndefined();
});
}, 30000);
});
});