@@ -119,7 +119,7 @@ impl BackgroundProcessor {
119
119
Descriptor : ' static + SocketDescriptor + Send + Sync ,
120
120
CMH : ' static + Deref + Send + Sync ,
121
121
RMH : ' static + Deref + Send + Sync ,
122
- EH : ' static + EventHandler + Send + Sync ,
122
+ EH : ' static + EventHandler + Send ,
123
123
CMP : ' static + Send + ChannelManagerPersister < Signer , CW , T , K , F , L > ,
124
124
M : ' static + Deref < Target = ChainMonitor < Signer , CF , T , F , L , P > > + Send + Sync ,
125
125
CM : ' static + Deref < Target = ChannelManager < Signer , CW , T , K , F , L > > + Send + Sync ,
@@ -248,10 +248,13 @@ mod tests {
248
248
use lightning:: ln:: features:: InitFeatures ;
249
249
use lightning:: ln:: msgs:: { ChannelMessageHandler , Init } ;
250
250
use lightning:: ln:: peer_handler:: { PeerManager , MessageHandler , SocketDescriptor } ;
251
+ use lightning:: routing:: network_graph:: NetworkGraph ;
251
252
use lightning:: util:: config:: UserConfig ;
252
253
use lightning:: util:: events:: { Event , MessageSendEventsProvider , MessageSendEvent } ;
253
254
use lightning:: util:: ser:: Writeable ;
254
255
use lightning:: util:: test_utils;
256
+ use lightning_invoice:: payment:: InvoicePayer ;
257
+ use lightning_invoice:: utils:: DefaultRouter ;
255
258
use lightning_persister:: FilesystemPersister ;
256
259
use std:: fs;
257
260
use std:: path:: PathBuf ;
@@ -552,4 +555,19 @@ mod tests {
552
555
553
556
assert ! ( bg_processor. stop( ) . is_ok( ) ) ;
554
557
}
558
+
559
+ #[ test]
560
+ fn test_invoice_payer ( ) {
561
+ let nodes = create_nodes ( 2 , "test_invoice_payer" . to_string ( ) ) ;
562
+
563
+ // Initiate the background processors to watch each node.
564
+ let data_dir = nodes[ 0 ] . persister . get_data_dir ( ) ;
565
+ let persister = move |node : & ChannelManager < InMemorySigner , Arc < ChainMonitor > , Arc < test_utils:: TestBroadcaster > , Arc < KeysManager > , Arc < test_utils:: TestFeeEstimator > , Arc < test_utils:: TestLogger > > | FilesystemPersister :: persist_manager ( data_dir. clone ( ) , node) ;
566
+ let router = DefaultRouter :: new ( Arc :: clone ( & nodes[ 0 ] . logger ) ) ;
567
+ let network_graph = Arc :: new ( NetworkGraph :: new ( genesis_block ( Network :: Testnet ) . header . block_hash ( ) ) ) ;
568
+ let event_handler = |_: & _ | { } ;
569
+ let ( _, event_handler) = InvoicePayer :: new ( Arc :: clone ( & nodes[ 0 ] . node ) , router, network_graph, Arc :: clone ( & nodes[ 0 ] . logger ) , event_handler) ;
570
+ let bg_processor = BackgroundProcessor :: start ( persister, event_handler, nodes[ 0 ] . chain_monitor . clone ( ) , nodes[ 0 ] . node . clone ( ) , nodes[ 0 ] . peer_manager . clone ( ) , nodes[ 0 ] . logger . clone ( ) ) ;
571
+ assert ! ( bg_processor. stop( ) . is_ok( ) ) ;
572
+ }
555
573
}
0 commit comments