diff --git a/tests/test_lightningd.py b/tests/test_lightningd.py index 1a0c4c948..adc05f16a 100644 --- a/tests/test_lightningd.py +++ b/tests/test_lightningd.py @@ -2044,6 +2044,7 @@ class LightningDTests(BaseLightningDTests): def test_withdraw(self): amount = 1000000 l1 = self.node_factory.get_node() + l2 = self.node_factory.get_node(random_hsm=True) addr = l1.rpc.newaddr()['address'] @@ -2080,6 +2081,22 @@ class LightningDTests(BaseLightningDTests): c.execute('SELECT COUNT(*) FROM outputs WHERE status=2') assert(c.fetchone()[0] == 2) + # Now send some money to l2. + # lightningd uses P2SH-P2WPKH + waddr = l2.rpc.newaddr()['address'] + out = l1.rpc.withdraw(waddr, 2*amount) + l1.bitcoin.rpc.generate(1) + + # Make sure l2 received the withdrawal. + wait_for(lambda: len(l2.rpc.listfunds()['outputs']) == 1) + outputs = l2.db_query('SELECT value FROM outputs WHERE status=0;') + assert len(outputs) == 1 and outputs[0]['value'] == 2*amount + + # Now make sure an additional two of them were marked as spent + c = db.cursor() + c.execute('SELECT COUNT(*) FROM outputs WHERE status=2') + assert(c.fetchone()[0] == 4) + def test_funding_change(self): """Add some funds, fund a channel, and make sure we remember the change """