@@ -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+
115125class 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
252239if __name__ == '__main__' :
253240 unittest .main ()
254-
0 commit comments