From a4add44980050d353a04868e6d6f152da93767e1 Mon Sep 17 00:00:00 2001 From: Luca Provini Date: Tue, 8 Oct 2024 14:06:54 +0200 Subject: [PATCH 1/2] feat: adding a new method to network config builder --- crates/exex/test-utils/src/lib.rs | 1 + crates/net/network/src/config.rs | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/crates/exex/test-utils/src/lib.rs b/crates/exex/test-utils/src/lib.rs index f4561a6b55f2..e219f55031db 100644 --- a/crates/exex/test-utils/src/lib.rs +++ b/crates/exex/test-utils/src/lib.rs @@ -271,6 +271,7 @@ pub async fn test_exex_context_with_chain_spec( let network_manager = NetworkManager::new( NetworkConfigBuilder::new(SecretKey::new(&mut rand::thread_rng())) + .with_unused_discovery_port() .build(provider_factory.clone()), ) .await?; diff --git a/crates/net/network/src/config.rs b/crates/net/network/src/config.rs index 60b559b9dbc3..544f00bd18e4 100644 --- a/crates/net/network/src/config.rs +++ b/crates/net/network/src/config.rs @@ -347,6 +347,12 @@ impl NetworkConfigBuilder { self } + /// Sets the discovery port to an unused port. + /// This is useful for testing. + pub fn with_unused_discovery_port(self) -> Self { + self.discovery_port(0) + } + /// Sets the external ip resolver to use for discovery v4. /// /// If no [`Discv4ConfigBuilder`] is set via [`Self::discovery`], this will create a new one. From b614977c5fdc58d329aba45081f96b26689a3214 Mon Sep 17 00:00:00 2001 From: Luca Provini Date: Tue, 8 Oct 2024 14:16:29 +0200 Subject: [PATCH 2/2] feat: also added listener port --- crates/net/network/src/config.rs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/crates/net/network/src/config.rs b/crates/net/network/src/config.rs index 544f00bd18e4..9d9183edcf98 100644 --- a/crates/net/network/src/config.rs +++ b/crates/net/network/src/config.rs @@ -353,6 +353,12 @@ impl NetworkConfigBuilder { self.discovery_port(0) } + /// Sets the listener port to an unused port. + /// This is useful for testing. + pub fn with_unused_listener_port(self) -> Self { + self.listener_port(0) + } + /// Sets the external ip resolver to use for discovery v4. /// /// If no [`Discv4ConfigBuilder`] is set via [`Self::discovery`], this will create a new one.