mirror of
https://github.com/ElementsProject/lightning.git
synced 2025-01-17 19:03:42 +01:00
Add tests for peer information containing alias
This commit is contained in:
parent
b50912d8b1
commit
35ce13179c
@ -3731,6 +3731,40 @@ class LightningDTests(BaseLightningDTests):
|
||||
l1.restart()
|
||||
assert len(l1.rpc.listpeers()['peers']) == 0
|
||||
|
||||
def test_peerinfo(self):
|
||||
l1, l2 = self.connect()
|
||||
|
||||
# Gossiping but no node announcement yet
|
||||
assert l1.rpc.getpeer(l2.info['id'])['state'] == "GOSSIPING"
|
||||
assert 'alias' not in l1.rpc.getpeer(l2.info['id'])
|
||||
assert 'color' not in l1.rpc.getpeer(l2.info['id'])
|
||||
|
||||
# Fund a channel to force a node announcement
|
||||
self.fund_channel(l1, l2, 10**6)
|
||||
# Now proceed to funding-depth and do a full gossip round
|
||||
bitcoind.generate_block(5)
|
||||
l1.daemon.wait_for_logs(['Received node_announcement for node ' + l2.info['id']])
|
||||
|
||||
# With the node announcement, ensure we see that information in the peer info
|
||||
assert l1.rpc.getpeer(l2.info['id'])['alias'] == l1.rpc.listnodes(l2.info['id'])['nodes'][0]['alias']
|
||||
assert l1.rpc.getpeer(l2.info['id'])['color'] == l1.rpc.listnodes(l2.info['id'])['nodes'][0]['color']
|
||||
|
||||
# Close the channel to forget the peer
|
||||
l1.rpc.close(l2.info['id'])
|
||||
l1.daemon.wait_for_log('Forgetting remote peer')
|
||||
bitcoind.generate_block(100)
|
||||
l1.daemon.wait_for_log('WIRE_ONCHAIN_ALL_IRREVOCABLY_RESOLVED')
|
||||
|
||||
# Reconnect
|
||||
l1.rpc.connect(l2.info['id'], 'localhost', l2.info['port'])
|
||||
l1.daemon.wait_for_log('WIRE_GOSSIP_PEER_CONNECTED')
|
||||
|
||||
# This time we already know about this node. So the node information appears even in
|
||||
# GOSSIPING state
|
||||
assert l1.rpc.getpeer(l2.info['id'])['state'] == "GOSSIPING"
|
||||
assert l1.rpc.getpeer(l2.info['id'])['alias'] == l1.rpc.listnodes(l2.info['id'])['nodes'][0]['alias']
|
||||
assert l1.rpc.getpeer(l2.info['id'])['color'] == l1.rpc.listnodes(l2.info['id'])['nodes'][0]['color']
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main(verbosity=2)
|
||||
|
Loading…
Reference in New Issue
Block a user