ttest_lnpeer: simple test of channel_reestablish - electrum - Electrum Bitcoin wallet
 (HTM) git clone https://git.parazyd.org/electrum
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) Submodules
       ---
 (DIR) commit ece75c3244a552af83d7bdfb0062396579169e38
 (DIR) parent 28dc1928a0cd3a2bfa8fa1f15fc5a6fcdf5112b3
 (HTM) Author: ThomasV <thomasv@electrum.org>
       Date:   Tue, 11 Feb 2020 19:53:21 +0100
       
       ttest_lnpeer: simple test of channel_reestablish
       
       Diffstat:
         M electrum/tests/test_lnpeer.py       |      17 ++++++++++++++++-
       
       1 file changed, 16 insertions(+), 1 deletion(-)
       ---
 (DIR) diff --git a/electrum/tests/test_lnpeer.py b/electrum/tests/test_lnpeer.py
       t@@ -18,7 +18,7 @@ from electrum.lnpeer import Peer
        from electrum.lnutil import LNPeerAddr, Keypair, privkey_to_pubkey
        from electrum.lnutil import LightningPeerConnectionClosed, RemoteMisbehaving
        from electrum.lnutil import PaymentFailure, LnLocalFeatures
       -from electrum.lnchannel import channel_states
       +from electrum.lnchannel import channel_states, peer_states
        from electrum.lnrouter import LNPathFinder
        from electrum.channel_db import ChannelDB
        from electrum.lnworker import LNWallet, NoPathFound
       t@@ -218,6 +218,21 @@ class TestPeer(ElectrumTestCase):
                                 ])
                return lnencode(lnaddr, w2.node_keypair.privkey)
        
       +    def test_reestablish(self):
       +        p1, p2, w1, w2, _q1, _q2 = self.prepare_peers()
       +        async def reestablish():
       +            await asyncio.gather(
       +                p1.reestablish_channel(self.alice_channel),
       +                p2.reestablish_channel(self.bob_channel))
       +            self.assertEqual(self.alice_channel.peer_state, peer_states.GOOD)
       +            self.assertEqual(self.bob_channel.peer_state, peer_states.GOOD)
       +            gath.cancel()
       +        gath = asyncio.gather(reestablish(), p1._message_loop(), p2._message_loop())
       +        async def f():
       +            await gath
       +        with self.assertRaises(concurrent.futures.CancelledError):
       +            run(f())
       +
            def test_payment(self):
                p1, p2, w1, w2, _q1, _q2 = self.prepare_peers()
                pay_req = self.prepare_invoice(w2)