mirror of
https://github.com/ElementsProject/lightning.git
synced 2025-03-03 18:57:06 +01:00
pytest: Add simple gossip pruning test
For now this just tests that we are sending out keepalive channel_updates for all local channels. Signed-off-by: Christian Decker <decker.christian@gmail.com>
This commit is contained in:
parent
574dc8cd1f
commit
6e001d88c2
1 changed files with 27 additions and 0 deletions
|
@ -1413,6 +1413,33 @@ class LightningDTests(BaseLightningDTests):
|
|||
assert [c['active'] for c in l2.rpc.getchannels()['channels']] == [True, True]
|
||||
assert [c['public'] for c in l2.rpc.getchannels()['channels']] == [True, True]
|
||||
|
||||
def test_gossip_pruning(self):
|
||||
""" Create channel and see it being updated in time before pruning
|
||||
"""
|
||||
opts = ['--channel-update-interval=5']
|
||||
l1 = self.node_factory.get_node(options=opts)
|
||||
l2 = self.node_factory.get_node(options=opts)
|
||||
l3 = self.node_factory.get_node(options=opts)
|
||||
|
||||
l1.rpc.connect(l2.info['id'], 'localhost', l2.info['port'])
|
||||
l2.rpc.connect(l3.info['id'], 'localhost', l3.info['port'])
|
||||
|
||||
scid1 = self.fund_channel(l1, l2, 10**6)
|
||||
scid2 = self.fund_channel(l2, l3, 10**6)
|
||||
|
||||
# Channels should be activated locally
|
||||
wait_for(lambda: [c['active'] for c in l1.rpc.getchannels()['channels']] == [True])
|
||||
wait_for(lambda: [c['active'] for c in l2.rpc.getchannels()['channels']] == [True, True])
|
||||
wait_for(lambda: [c['active'] for c in l3.rpc.getchannels()['channels']] == [True])
|
||||
|
||||
l1.bitcoin.rpc.generate(6)
|
||||
|
||||
# All of them should send a keepalive message
|
||||
l1.daemon.wait_for_log('Sending keepalive channel_update for {}'.format(scid1))
|
||||
l2.daemon.wait_for_log('Sending keepalive channel_update for {}'.format(scid1))
|
||||
l2.daemon.wait_for_log('Sending keepalive channel_update for {}'.format(scid2))
|
||||
l3.daemon.wait_for_log('Sending keepalive channel_update for {}'.format(scid2))
|
||||
|
||||
def ping_tests(self, l1, l2):
|
||||
# 0-byte pong gives just type + length field.
|
||||
ret = l1.rpc.dev_ping(l2.info['id'], 0, 0)
|
||||
|
|
Loading…
Add table
Reference in a new issue