Skip to content

Commit 8056689

Browse files
committed
promote helpers used in test_spontaneous_payment to module level
1 parent 8c53d4f commit 8056689

1 file changed

Lines changed: 52 additions & 53 deletions

File tree

bindings/python/src/ldk_node/test_ldk_node.py

Lines changed: 52 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -118,77 +118,76 @@ def expect_event(node, expected_event_type):
118118
assert isinstance(event, expected_event_type)
119119
print("EVENT:", event)
120120
node.event_handled()
121-
return event
121+
return event
122122

123+
def setup_two_nodes(esplora_endpoint):
124+
tmp_dir_1 = tempfile.TemporaryDirectory("_ldk_node_1")
125+
listening_addresses_1 = ["127.0.0.1:2323"]
126+
node_1 = setup_node(tmp_dir_1.name, esplora_endpoint, listening_addresses_1)
127+
node_1.start()
128+
node_id_1 = node_1.node_id()
123129

130+
tmp_dir_2 = tempfile.TemporaryDirectory("_ldk_node_2")
131+
listening_addresses_2 = ["127.0.0.1:2324"]
132+
node_2 = setup_node(tmp_dir_2.name, esplora_endpoint, listening_addresses_2)
133+
node_2.start()
134+
node_id_2 = node_2.node_id()
124135

125-
class TestLdkNode(unittest.TestCase):
126-
def setUp(self):
127-
bitcoin_cli("createwallet ldk_node_test")
128-
mine(101)
129-
time.sleep(3)
130-
esplora_endpoint = get_esplora_endpoint()
131-
mine_and_wait(esplora_endpoint, 1)
132-
133-
def _setup_two_nodes(self, esplora_endpoint):
134-
tmp_dir_1 = tempfile.TemporaryDirectory("_ldk_node_1")
135-
listening_addresses_1 = ["127.0.0.1:2323"]
136-
node_1 = setup_node(tmp_dir_1.name, esplora_endpoint, listening_addresses_1)
137-
node_1.start()
138-
node_id_1 = node_1.node_id()
136+
return node_1, node_2, tmp_dir_1, tmp_dir_2, node_id_1, node_id_2, listening_addresses_2
139137

140-
tmp_dir_2 = tempfile.TemporaryDirectory("_ldk_node_2")
141-
listening_addresses_2 = ["127.0.0.1:2324"]
142-
node_2 = setup_node(tmp_dir_2.name, esplora_endpoint, listening_addresses_2)
143-
node_2.start()
144-
node_id_2 = node_2.node_id()
138+
def fund_nodes(node_1, node_2, esplora_endpoint, amount_sats=100000):
139+
address_1 = node_1.onchain_payment().new_address()
140+
txid_1 = send_to_address(address_1, amount_sats)
141+
address_2 = node_2.onchain_payment().new_address()
142+
txid_2 = send_to_address(address_2, amount_sats)
145143

146-
return node_1, node_2, tmp_dir_1, tmp_dir_2, node_id_1, node_id_2, listening_addresses_2
144+
wait_for_tx(esplora_endpoint, txid_1)
145+
wait_for_tx(esplora_endpoint, txid_2)
146+
mine_and_wait(esplora_endpoint, 6)
147147

148-
def _fund_nodes(self, node_1, node_2, esplora_endpoint, amount_sats=100000):
149-
address_1 = node_1.onchain_payment().new_address()
150-
txid_1 = send_to_address(address_1, amount_sats)
151-
address_2 = node_2.onchain_payment().new_address()
152-
txid_2 = send_to_address(address_2, amount_sats)
148+
node_1.sync_wallets()
149+
node_2.sync_wallets()
153150

154-
wait_for_tx(esplora_endpoint, txid_1)
155-
wait_for_tx(esplora_endpoint, txid_2)
156-
mine_and_wait(esplora_endpoint, 6)
151+
def open_channel_and_wait_ready(node_1, node_2, node_id_2, listening_address_2, esplora_endpoint, channel_amount_sats=50000):
152+
node_1.open_channel(node_id_2, listening_address_2, channel_amount_sats, None, None)
157153

158-
node_1.sync_wallets()
159-
node_2.sync_wallets()
154+
channel_pending_event_1 = expect_event(node_1, Event.CHANNEL_PENDING)
155+
expect_event(node_2, Event.CHANNEL_PENDING)
160156

161-
def _open_channel_and_wait_ready(self, node_1, node_2, node_id_2, listening_address_2, esplora_endpoint, channel_amount_sats=50000):
162-
node_1.open_channel(node_id_2, listening_address_2, channel_amount_sats, None, None)
157+
funding_txid = channel_pending_event_1.funding_txo.txid
158+
wait_for_tx(esplora_endpoint, funding_txid)
159+
mine_and_wait(esplora_endpoint, 6)
163160

164-
channel_pending_event_1 = expect_event(node_1, Event.CHANNEL_PENDING)
165-
expect_event(node_2, Event.CHANNEL_PENDING)
161+
node_1.sync_wallets()
162+
node_2.sync_wallets()
166163

167-
funding_txid = channel_pending_event_1.funding_txo.txid
168-
wait_for_tx(esplora_endpoint, funding_txid)
169-
mine_and_wait(esplora_endpoint, 6)
164+
channel_ready_event_1 = expect_event(node_1, Event.CHANNEL_READY)
165+
channel_ready_event_2 = expect_event(node_2, Event.CHANNEL_READY)
166+
return channel_ready_event_1, channel_ready_event_2, funding_txid
170167

171-
node_1.sync_wallets()
172-
node_2.sync_wallets()
168+
def stop_and_cleanup(node_1, node_2, tmp_dir_1, tmp_dir_2):
169+
node_1.stop()
170+
node_2.stop()
171+
time.sleep(1)
172+
tmp_dir_1.cleanup()
173+
tmp_dir_2.cleanup()
173174

174-
channel_ready_event_1 = expect_event(node_1, Event.CHANNEL_READY)
175-
channel_ready_event_2 = expect_event(node_2, Event.CHANNEL_READY)
176-
return channel_ready_event_1, channel_ready_event_2, funding_txid
177175

178-
def _stop_and_cleanup(self, node_1, node_2, tmp_dir_1, tmp_dir_2):
179-
node_1.stop()
180-
node_2.stop()
181-
time.sleep(1)
182-
tmp_dir_1.cleanup()
183-
tmp_dir_2.cleanup()
176+
class TestLdkNode(unittest.TestCase):
177+
def setUp(self):
178+
bitcoin_cli("createwallet ldk_node_test")
179+
mine(101)
180+
time.sleep(3)
181+
esplora_endpoint = get_esplora_endpoint()
182+
mine_and_wait(esplora_endpoint, 1)
184183

185184
def test_spontaneous_payment(self):
186185
"""Spontaneous payment test in python: keysend after channel ready."""
187186
esplora_endpoint = get_esplora_endpoint()
188187

189-
node_1, node_2, tmp_dir_1, tmp_dir_2, node_id_1, node_id_2, listening_addresses_2 = self._setup_two_nodes(esplora_endpoint)
190-
self._fund_nodes(node_1, node_2, esplora_endpoint)
191-
self._open_channel_and_wait_ready(node_1, node_2, node_id_2, listening_addresses_2[0], esplora_endpoint)
188+
node_1, node_2, tmp_dir_1, tmp_dir_2, node_id_1, node_id_2, listening_addresses_2 = setup_two_nodes(esplora_endpoint)
189+
fund_nodes(node_1, node_2, esplora_endpoint)
190+
open_channel_and_wait_ready(node_1, node_2, node_id_2, listening_addresses_2[0], esplora_endpoint)
192191

193192
keysend_amount_msat = 2_500_000
194193
custom_tlvs = [CustomTlvRecord(type_num=13377331, value=bytes([1, 2, 3]))]
@@ -217,7 +216,7 @@ def test_spontaneous_payment(self):
217216
self.assertEqual(receiver_payment.amount_msat, keysend_amount_msat)
218217
self.assertTrue(receiver_payment.kind.is_spontaneous())
219218

220-
self._stop_and_cleanup(node_1, node_2, tmp_dir_1, tmp_dir_2)
219+
stop_and_cleanup(node_1, node_2, tmp_dir_1, tmp_dir_2)
221220

222221
def test_channel_full_cycle(self):
223222
esplora_endpoint = get_esplora_endpoint()

0 commit comments

Comments
 (0)