@@ -1005,9 +1005,7 @@ mod tests {
10051005 //! An iroh node that just has the blobs transport
10061006 use std:: { path:: Path , sync:: Arc } ;
10071007
1008- use iroh_net:: {
1009- discovery:: Discovery , dns:: DnsResolver , key:: SecretKey , NodeAddr , NodeId , RelayMode ,
1010- } ;
1008+ use iroh_net:: { NodeAddr , NodeId } ;
10111009 use quic_rpc:: transport:: { Connector , Listener } ;
10121010 use tokio_util:: task:: AbortOnDropHandle ;
10131011
@@ -1034,56 +1032,22 @@ mod tests {
10341032 pub struct Builder < S > {
10351033 store : S ,
10361034 events : EventSender ,
1037- secret_key : Option < SecretKey > ,
1038- dns_resolver : Option < DnsResolver > ,
1039- node_discovery : Option < Box < dyn Discovery > > ,
1040- insecure_skip_relay_cert_verify : bool ,
1041- relay_mode : RelayMode ,
1035+ endpoint : Option < iroh_net:: endpoint:: Builder > ,
10421036 }
10431037
10441038 impl < S : crate :: store:: Store > Builder < S > {
1045- /// Sets the relay mode
1046- pub fn relay_mode ( self , mode : RelayMode ) -> Self {
1047- Self {
1048- relay_mode : mode,
1049- ..self
1050- }
1051- }
1052-
1053- /// Skip relay certificate verification
1054- pub fn insecure_skip_relay_cert_verify ( self , value : bool ) -> Self {
1055- Self {
1056- insecure_skip_relay_cert_verify : value,
1057- ..self
1058- }
1059- }
1060-
1061- pub fn dns_resolver ( self , value : DnsResolver ) -> Self {
1062- Self {
1063- dns_resolver : Some ( value) ,
1064- ..self
1065- }
1066- }
1067-
1068- pub fn node_discovery ( self , value : Box < dyn Discovery > ) -> Self {
1069- Self {
1070- node_discovery : Some ( value) ,
1071- ..self
1072- }
1073- }
1074-
1075- /// Sets the secret key
1076- pub fn secret_key ( self , secret_key : SecretKey ) -> Self {
1039+ /// Sets the event sender
1040+ pub fn blobs_events ( self , events : impl CustomEventSender ) -> Self {
10771041 Self {
1078- secret_key : Some ( secret_key ) ,
1042+ events : events . into ( ) ,
10791043 ..self
10801044 }
10811045 }
10821046
1083- /// Sets the event sender
1084- pub fn blobs_events ( self , events : impl CustomEventSender ) -> Self {
1047+ /// Set an endpoint builder
1048+ pub fn endpoint ( self , endpoint : iroh_net :: endpoint :: Builder ) -> Self {
10851049 Self {
1086- events : events . into ( ) ,
1050+ endpoint : Some ( endpoint ) ,
10871051 ..self
10881052 }
10891053 }
@@ -1109,27 +1073,11 @@ mod tests {
11091073 ) > {
11101074 let store = self . store ;
11111075 let events = self . events ;
1112- let builder = iroh_net:: Endpoint :: builder ( )
1113- . discovery_n0 ( )
1114- . insecure_skip_relay_cert_verify ( self . insecure_skip_relay_cert_verify )
1115- . relay_mode ( self . relay_mode ) ;
1116- let builder = if let Some ( secret_key) = self . secret_key {
1117- builder. secret_key ( secret_key)
1118- } else {
1119- builder
1120- } ;
1121- let builder = if let Some ( dns_resolver) = self . dns_resolver {
1122- builder. dns_resolver ( dns_resolver)
1123- } else {
1124- builder
1125- } ;
1126- let builder = if let Some ( node_discovery) = self . node_discovery {
1127- builder. discovery ( node_discovery)
1128- } else {
1129- builder
1130- } ;
1131-
1132- let endpoint = builder. bind ( ) . await ?;
1076+ let endpoint = self
1077+ . endpoint
1078+ . unwrap_or_else ( || iroh_net:: Endpoint :: builder ( ) . discovery_n0 ( ) )
1079+ . bind ( )
1080+ . await ?;
11331081 let local_pool = LocalPool :: single ( ) ;
11341082 let mut router = iroh_router:: Router :: builder ( endpoint. clone ( ) ) ;
11351083
@@ -1187,11 +1135,7 @@ mod tests {
11871135 Builder {
11881136 store : crate :: store:: mem:: Store :: new ( ) ,
11891137 events : Default :: default ( ) ,
1190- secret_key : None ,
1191- relay_mode : RelayMode :: Default ,
1192- insecure_skip_relay_cert_verify : false ,
1193- dns_resolver : None ,
1194- node_discovery : None ,
1138+ endpoint : None ,
11951139 }
11961140 }
11971141
@@ -1202,11 +1146,7 @@ mod tests {
12021146 Ok ( Builder {
12031147 store : crate :: store:: fs:: Store :: load ( path) . await ?,
12041148 events : Default :: default ( ) ,
1205- secret_key : None ,
1206- relay_mode : RelayMode :: Default ,
1207- insecure_skip_relay_cert_verify : false ,
1208- dns_resolver : None ,
1209- node_discovery : None ,
1149+ endpoint : None ,
12101150 } )
12111151 }
12121152
@@ -1960,16 +1900,14 @@ mod tests {
19601900 let _guard = iroh_test:: logging:: setup ( ) ;
19611901 let ( relay_map, relay_url, _guard) = iroh_net:: test_utils:: run_relay_server ( ) . await ?;
19621902
1963- let node1 = Node :: memory ( )
1903+ let endpoint1 = iroh_net :: Endpoint :: builder ( )
19641904 . relay_mode ( RelayMode :: Custom ( relay_map. clone ( ) ) )
1965- . insecure_skip_relay_cert_verify ( true )
1966- . spawn ( )
1967- . await ?;
1968- let node2 = Node :: memory ( )
1905+ . insecure_skip_relay_cert_verify ( true ) ;
1906+ let node1 = Node :: memory ( ) . endpoint ( endpoint1) . spawn ( ) . await ?;
1907+ let endpoint2 = iroh_net:: Endpoint :: builder ( )
19691908 . relay_mode ( RelayMode :: Custom ( relay_map. clone ( ) ) )
1970- . insecure_skip_relay_cert_verify ( true )
1971- . spawn ( )
1972- . await ?;
1909+ . insecure_skip_relay_cert_verify ( true ) ;
1910+ let node2 = Node :: memory ( ) . endpoint ( endpoint2) . spawn ( ) . await ?;
19731911 let AddOutcome { hash, .. } = node1. blobs ( ) . add_bytes ( b"foo" . to_vec ( ) ) . await ?;
19741912
19751913 // create a node addr with only a relay URL, no direct addresses
@@ -1995,23 +1933,21 @@ mod tests {
19951933 let dns_pkarr_server = DnsPkarrServer :: run ( ) . await ?;
19961934
19971935 let secret1 = SecretKey :: generate ( ) ;
1998- let node1 = Node :: memory ( )
1999- . secret_key ( secret1. clone ( ) )
1936+ let endpoint1 = iroh_net:: Endpoint :: builder ( )
20001937 . relay_mode ( RelayMode :: Custom ( relay_map. clone ( ) ) )
20011938 . insecure_skip_relay_cert_verify ( true )
20021939 . dns_resolver ( dns_pkarr_server. dns_resolver ( ) )
2003- . node_discovery ( dns_pkarr_server . discovery ( secret1 ) )
2004- . spawn ( )
2005- . await ?;
1940+ . secret_key ( secret1 . clone ( ) )
1941+ . discovery ( dns_pkarr_server . discovery ( secret1 ) ) ;
1942+ let node1 = Node :: memory ( ) . endpoint ( endpoint1 ) . spawn ( ) . await ?;
20061943 let secret2 = SecretKey :: generate ( ) ;
2007- let node2 = Node :: memory ( )
2008- . secret_key ( secret2. clone ( ) )
1944+ let endpoint2 = iroh_net:: Endpoint :: builder ( )
20091945 . relay_mode ( RelayMode :: Custom ( relay_map. clone ( ) ) )
20101946 . insecure_skip_relay_cert_verify ( true )
20111947 . dns_resolver ( dns_pkarr_server. dns_resolver ( ) )
2012- . node_discovery ( dns_pkarr_server . discovery ( secret2 ) )
2013- . spawn ( )
2014- . await ?;
1948+ . secret_key ( secret2 . clone ( ) )
1949+ . discovery ( dns_pkarr_server . discovery ( secret2 ) ) ;
1950+ let node2 = Node :: memory ( ) . endpoint ( endpoint2 ) . spawn ( ) . await ?;
20151951 let hash = node1. blobs ( ) . add_bytes ( b"foo" . to_vec ( ) ) . await ?. hash ;
20161952
20171953 // create a node addr with node id only
0 commit comments