UNPKG

lightning

Version:
70 lines (58 loc) 1.75 kB
const {deepStrictEqual} = require('node:assert').strict; const test = require('node:test'); const {throws} = require('node:assert').strict; const {rpcPeerMessageAsMessage} = require('./../../lnd_responses'); const makeArgs = overrides => { const response = { data: Buffer.alloc(1), peer: Buffer.alloc(33, 3), type: 44444, }; Object.keys(overrides || {}).forEach(key => response[key] = overrides[key]); return response; }; const makeExpected = overrides => { const expected = { message: '00', public_key: '030303030303030303030303030303030303030303030303030303030303030303', type: 44444, }; Object.keys(overrides || {}).forEach(key => expected[key] = overrides[key]); return expected; }; const tests = [ { description: 'RPC peer message is expected', error: 'ExpectedRpcMessageToDerivePeerMessage', }, { args: makeArgs({data: undefined}), description: 'data is expected', error: 'ExpectedPeerMessageDataToDerivePeerMessage', }, { args: makeArgs({peer: undefined}), description: 'peer public key is expected', error: 'ExpectedPeerPublicKeyBytesToDerivePeerMessage', }, { args: makeArgs({type: undefined}), description: 'type is expected', error: 'ExpectedCustomMessageTypeNumberToDeriveMessage', }, { args: makeArgs({}), description: 'RPC peer message is mapped to message', expected: makeExpected({}), }, ]; tests.forEach(({args, description, error, expected}) => { return test(description, (t, end) => { if (!!error) { throws(() => rpcPeerMessageAsMessage(args), new Error(error), 'Got err'); } else { deepStrictEqual(rpcPeerMessageAsMessage(args), expected, 'Mapped'); } return end(); }); });