ln-service
Version:
Interaction helper for your Lightning Network daemon
53 lines (36 loc) • 1.36 kB
JavaScript
const {strictEqual} = require('node:assert').strict;
const test = require('node:test');
const asyncRetry = require('async/retry');
const {spawnLightningCluster} = require('ln-docker-daemons');
const {addPeer} = require('./../../');
const {getPeers} = require('./../../');
const {removePeer} = require('./../../');
const interval = 10;
const size = 2;
const times = 2000;
// Removing peers should result in a removed peer
test(`Remove a peer`, async () => {
const {kill, nodes} = await spawnLightningCluster({size});
const [{generate, id, lnd}, target] = nodes;
try {
await asyncRetry({interval, times}, async () => {
await generate({});
await addPeer({lnd, public_key: target.id, socket: target.socket});
});
const {peers} = await getPeers({lnd});
const [targetPeer] = peers;
strictEqual(targetPeer.public_key, target.id, 'Peer is added');
await removePeer({lnd, public_key: targetPeer.public_key});
await asyncRetry({interval, times}, async () => {
const postRemovalPeers = await getPeers({lnd});
if (!!postRemovalPeers.peers.length) {
throw new Error('ExpectedPeerRemoved');
}
strictEqual(postRemovalPeers.peers.length, [].length, 'Peer is removed');
});
} catch (err) {
strictEqual(err, null, 'Expected no error');
}
await kill({});
return;
});