UNPKG

lightning

Version:
87 lines (81 loc) 2.14 kB
const {deepStrictEqual} = require('node:assert').strict; const {rejects} = require('node:assert').strict; const test = require('node:test'); const {recoverFundsFromChannel} = require('./../../../'); const tests = [ { args: {}, description: 'A backup to verify is required', error: [400, 'ExpectedBackupWhenAttemptingChannelRestoration'], }, { args: {backup: '00'}, description: 'An authenticated LND object is required', error: [400, 'ExpectedLndToRestoreChannelFromBackup'], }, { args: { backup: '00', lnd: { default: { restoreChannelBackups: ({}, cbk) => cbk(), verifyChanBackup: ({}, cbk) => cbk('err'), } }, }, description: 'Channel backup is invalid', error: [400, 'ProvidedBackupIsInvalid'], }, { args: { backup: '00', lnd: { default: { restoreChannelBackups: ({}, cbk) => cbk({ details: 'unable to unpack single backups: channel already exists', }), verifyChanBackup: ({}, cbk) => cbk(), }, }, }, description: 'LND errors are passed back', error: [400, 'ChannelAlreadyExists'], }, { args: { backup: '00', lnd: { default: { restoreChannelBackups: ({}, cbk) => cbk('err'), verifyChanBackup: ({}, cbk) => cbk(), }, }, }, description: 'LND errors are passed back', error: [503, 'UnexpectedErrorRestoringChanFromBackup', {err: 'err'}], }, { args: { backup: '00', lnd: { default: { restoreChannelBackups: ({}, cbk) => cbk(), verifyChanBackup: ({}, cbk) => cbk(), }, }, }, description: 'Funds are recovered', expected: {}, }, ]; tests.forEach(({args, description, error, expected}) => { return test(description, async () => { if (!!error) { await rejects(recoverFundsFromChannel(args), error, 'Got expected err'); } else { const res = await recoverFundsFromChannel(args); deepStrictEqual(res, expected, 'Got expected result'); } return; }); });