1010//! Onion message testing and test utilities live here.
1111
1212use crate :: blinded_path:: EmptyNodeIdLookUp ;
13- use crate :: blinded_path:: message:: { AsyncPaymentsContext , BlindedMessagePath , MessageForwardNode , MessageContext , OffersContext } ;
13+ use crate :: blinded_path:: message:: { AsyncPaymentsContext , BlindedMessagePath , DNSResolverContext , MessageForwardNode , MessageContext , OffersContext } ;
1414use crate :: events:: { Event , EventsProvider } ;
1515use crate :: ln:: features:: { ChannelFeatures , InitFeatures } ;
1616use crate :: ln:: msgs:: { self , DecodeError , OnionMessageHandler } ;
@@ -20,6 +20,7 @@ use crate::sign::{NodeSigner, Recipient};
2020use crate :: util:: ser:: { FixedLengthReader , LengthReadable , Writeable , Writer } ;
2121use crate :: util:: test_utils;
2222use super :: async_payments:: { AsyncPaymentsMessageHandler , HeldHtlcAvailable , ReleaseHeldHtlc } ;
23+ use super :: dns_resolution:: { DNSResolverMessageHandler , DNSResolverMessage , DNSSECProof , DNSSECQuery } ;
2324use super :: messenger:: { CustomOnionMessageHandler , DefaultMessageRouter , Destination , OnionMessagePath , OnionMessenger , Responder , ResponseInstruction , MessageSendInstructions , SendError , SendSuccess } ;
2425use super :: offers:: { OffersMessage , OffersMessageHandler } ;
2526use super :: packet:: { OnionMessageContents , Packet } ;
@@ -52,6 +53,7 @@ struct MessengerNode {
5253 > > ,
5354 Arc < TestOffersMessageHandler > ,
5455 Arc < TestAsyncPaymentsMessageHandler > ,
56+ Arc < TestDNSResolverMessageHandler > ,
5557 Arc < TestCustomMessageHandler >
5658 > ,
5759 custom_message_handler : Arc < TestCustomMessageHandler > ,
@@ -90,6 +92,17 @@ impl AsyncPaymentsMessageHandler for TestAsyncPaymentsMessageHandler {
9092 fn release_held_htlc ( & self , _message : ReleaseHeldHtlc , _context : AsyncPaymentsContext ) { }
9193}
9294
95+ struct TestDNSResolverMessageHandler { }
96+
97+ impl DNSResolverMessageHandler for TestDNSResolverMessageHandler {
98+ fn handle_dnssec_query (
99+ & self , _message : DNSSECQuery , _responder : Option < Responder > ,
100+ ) -> Option < ( DNSResolverMessage , ResponseInstruction ) > {
101+ None
102+ }
103+ fn handle_dnssec_proof ( & self , _message : DNSSECProof , _context : DNSResolverContext ) { }
104+ }
105+
93106#[ derive( Clone , Debug , PartialEq ) ]
94107enum TestCustomMessage {
95108 Ping ,
@@ -264,18 +277,21 @@ fn create_nodes_using_cfgs(cfgs: Vec<MessengerCfg>) -> Vec<MessengerNode> {
264277 ) ;
265278 let offers_message_handler = Arc :: new ( TestOffersMessageHandler { } ) ;
266279 let async_payments_message_handler = Arc :: new ( TestAsyncPaymentsMessageHandler { } ) ;
280+ let dns_resolver_message_handler = Arc :: new ( TestDNSResolverMessageHandler { } ) ;
267281 let custom_message_handler = Arc :: new ( TestCustomMessageHandler :: new ( ) ) ;
268282 let messenger = if cfg. intercept_offline_peer_oms {
269283 OnionMessenger :: new_with_offline_peer_interception (
270284 entropy_source. clone ( ) , node_signer. clone ( ) , logger. clone ( ) ,
271285 node_id_lookup, message_router, offers_message_handler,
272- async_payments_message_handler, custom_message_handler. clone ( )
286+ async_payments_message_handler, dns_resolver_message_handler,
287+ custom_message_handler. clone ( ) ,
273288 )
274289 } else {
275290 OnionMessenger :: new (
276291 entropy_source. clone ( ) , node_signer. clone ( ) , logger. clone ( ) ,
277292 node_id_lookup, message_router, offers_message_handler,
278- async_payments_message_handler, custom_message_handler. clone ( )
293+ async_payments_message_handler, dns_resolver_message_handler,
294+ custom_message_handler. clone ( ) ,
279295 )
280296 } ;
281297 nodes. push ( MessengerNode {
0 commit comments