Skip to content

Commit

Permalink
test: add unit tests decryptVault
Browse files Browse the repository at this point in the history
  • Loading branch information
mikesposito committed Dec 7, 2023
1 parent 912a80e commit cc69d9b
Showing 1 changed file with 28 additions and 0 deletions.
28 changes: 28 additions & 0 deletions app/lib.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,21 @@ const FIXTURES = [
},
]

const VAULTS = [
{
variant: 'vault with no key metadata',
vaultData: '{"data":"s6TpYjlUNsn7ifhEFTkuDGBUM1GyOlPrim7JSjtfIxgTt8/6MiXgiR/CtFfR4dWW2xhq85/NGIBYEeWrZThGdKGarBzeIqBfLFhw9n509jprzJ0zc2Rf+9HVFGLw+xxC4xPxgCS0IIWeAJQ+XtGcHmn0UZXriXm8Ja4kdlow6SWinB7sr/WM3R0+frYs4WgllkwggDf2/Tv6VHygvLnhtzp6hIJFyTjh+l/KnyJTyZW1TkZhDaNDzX3SCOHT","iv":"FbeHDAW5afeWNORfNJBR0Q==","salt":"TxZ+WbCW6891C9LK/hbMAoUsSEW1E8pyGLVBU6x5KR8="}',
mnemonic: 'spread raise short crane omit tent fringe mandate neglect detail suspect cradle',
passphrase: 'correct horse battery staple',
},
{
variant: 'vault with key metadata and 600_000 iterations',
vaultData: '{"data":"WHaP1FrrtV4zUonudIppDifsLHF39g6oPkVksAIdWAHBRzax1uy1asfAJprR7u72t4/HuYz5yPIFQrnNnv+hwQu9GRuty88VKMnvMy+sq8MNtoXI+C54bZpWa8r4iUQfa0Mj/cfJbpFpzOdF1ZYXahTfTcU5WsrHwvJew842CiJR4B2jmCHHXfm/DxLK3WazsVQwXJGx/U71UelGoOOrT8NI28EKrAwgPn+7Xmv0j92gmhau30N7Bo2fr6Zv","iv":"LfD8/tY1EjXzxuemSmDVdA==","keyMetadata":{"algorithm":"PBKDF2","params":{"iterations":600000}},"salt":"nk4xdpmMR+1s5BYe4Vnk++XAQwrISI2bCtbMg7V1wUA="}',
mnemonic: 'spread raise short crane omit tent fringe mandate neglect detail suspect cradle',
passphrase: 'correct horse battery staple',
},
]

describe('extractVaultFromFile', () => {
for (const f of FIXTURES) {
it(`decrypts ${f.path}`, async () => {
Expand All @@ -47,6 +62,19 @@ describe('extractVaultFromFile', () => {
}
})

describe('decryptVault', () => {
VAULTS.forEach((vault) => {
it(`decrypts ${vault.variant}`, async () => {
const decrypted = await decryptVault(
vault.passphrase,
JSON.parse(vault.vaultData)
);

expect(decrypted[0].data.mnemonic).toBe(vault.mnemonic)
})
})
});

describe('isVaultValid', () => {
const validVault = {
data: 'foo',
Expand Down

0 comments on commit cc69d9b

Please sign in to comment.