Skip to content

Commit cb99e84

Browse files
authored
Merge pull request #805 from heyolaniran/refactoring_binding_python_test
Refactoring binding python test
2 parents e3d3318 + 4477ca7 commit cb99e84

File tree

1 file changed

+21
-35
lines changed

1 file changed

+21
-35
lines changed

bindings/python/src/ldk_node/test_ldk_node.py

Lines changed: 21 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,16 @@ def get_esplora_endpoint():
112112
return str(os.environ['ESPLORA_ENDPOINT'])
113113
return DEFAULT_ESPLORA_SERVER_URL
114114

115+
116+
def expect_event(node, expected_event_type):
117+
event = node.wait_next_event()
118+
assert isinstance(event, expected_event_type)
119+
print("EVENT:", event)
120+
node.event_handled()
121+
return event
122+
123+
124+
115125
class TestLdkNode(unittest.TestCase):
116126
def setUp(self):
117127
bitcoin_cli("createwallet ldk_node_test")
@@ -175,59 +185,36 @@ def test_channel_full_cycle(self):
175185

176186
node_1.open_channel(node_id_2, listening_addresses_2[0], 50000, None, None)
177187

178-
channel_pending_event_1 = node_1.wait_next_event()
179-
assert isinstance(channel_pending_event_1, Event.CHANNEL_PENDING)
180-
print("EVENT:", channel_pending_event_1)
181-
node_1.event_handled()
182-
183-
channel_pending_event_2 = node_2.wait_next_event()
184-
assert isinstance(channel_pending_event_2, Event.CHANNEL_PENDING)
185-
print("EVENT:", channel_pending_event_2)
186-
node_2.event_handled()
187188

189+
channel_pending_event_1 = expect_event(node_1, Event.CHANNEL_PENDING)
190+
channel_pending_event_2 = expect_event(node_2, Event.CHANNEL_PENDING)
188191
funding_txid = channel_pending_event_1.funding_txo.txid
189192
wait_for_tx(esplora_endpoint, funding_txid)
190193
mine_and_wait(esplora_endpoint, 6)
191194

192195
node_1.sync_wallets()
193196
node_2.sync_wallets()
194197

195-
channel_ready_event_1 = node_1.wait_next_event()
196-
assert isinstance(channel_ready_event_1, Event.CHANNEL_READY)
197-
print("EVENT:", channel_ready_event_1)
198+
channel_ready_event_1 = expect_event(node_1, Event.CHANNEL_READY)
198199
print("funding_txo:", funding_txid)
199-
node_1.event_handled()
200200

201-
channel_ready_event_2 = node_2.wait_next_event()
202-
assert isinstance(channel_ready_event_2, Event.CHANNEL_READY)
203-
print("EVENT:", channel_ready_event_2)
204-
node_2.event_handled()
201+
channel_ready_event_2 = expect_event(node_2, Event.CHANNEL_READY)
205202

206203
description = Bolt11InvoiceDescription.DIRECT("asdf")
207204
invoice = node_2.bolt11_payment().receive(2500000, description, 9217)
208205
node_1.bolt11_payment().send(invoice, None)
206+
207+
expect_event(node_1, Event.PAYMENT_SUCCESSFUL)
209208

210-
payment_successful_event_1 = node_1.wait_next_event()
211-
assert isinstance(payment_successful_event_1, Event.PAYMENT_SUCCESSFUL)
212-
print("EVENT:", payment_successful_event_1)
213-
node_1.event_handled()
214-
215-
payment_received_event_2 = node_2.wait_next_event()
216-
assert isinstance(payment_received_event_2, Event.PAYMENT_RECEIVED)
217-
print("EVENT:", payment_received_event_2)
218-
node_2.event_handled()
209+
expect_event(node_2, Event.PAYMENT_RECEIVED)
210+
219211

220212
node_2.close_channel(channel_ready_event_2.user_channel_id, node_id_1)
221213

222-
channel_closed_event_1 = node_1.wait_next_event()
223-
assert isinstance(channel_closed_event_1, Event.CHANNEL_CLOSED)
224-
print("EVENT:", channel_closed_event_1)
225-
node_1.event_handled()
214+
# expect channel closed event on both nodes
215+
expect_event(node_1, Event.CHANNEL_CLOSED)
226216

227-
channel_closed_event_2 = node_2.wait_next_event()
228-
assert isinstance(channel_closed_event_2, Event.CHANNEL_CLOSED)
229-
print("EVENT:", channel_closed_event_2)
230-
node_2.event_handled()
217+
expect_event(node_2, Event.CHANNEL_CLOSED)
231218

232219
mine_and_wait(esplora_endpoint, 1)
233220

@@ -251,4 +238,3 @@ def test_channel_full_cycle(self):
251238

252239
if __name__ == '__main__':
253240
unittest.main()
254-

0 commit comments

Comments
 (0)