From a4806f2718a7c0fcbf73631e19b7ed9dd8eb8f52 Mon Sep 17 00:00:00 2001 From: Fintan Halpenny Date: Tue, 17 Feb 2026 14:02:05 +0000 Subject: [PATCH] node/test: check remote events for `Event::PeerDisconnected` The node being connected to may be blocking the connecting node. In this case the service will emit an event that says the connecting node is disconnected. Check the events for this event as well as `Event::PeerConnected`. --- crates/radicle-node/src/test/node.rs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/crates/radicle-node/src/test/node.rs b/crates/radicle-node/src/test/node.rs index dad7371e..268f4284 100644 --- a/crates/radicle-node/src/test/node.rs +++ b/crates/radicle-node/src/test/node.rs @@ -99,6 +99,9 @@ impl Drop for NodeHandle { impl + cyphernet::Ecdh> NodeHandle { /// Connect this node to another node, and wait for the connection to be established both ways. + /// + /// If the remote has blocked this node, then the remote event will be + /// [`Event::PeerDisconnected`]. pub fn connect(&mut self, remote: &NodeHandle) -> &mut Self { let local_events = self.handle.events(); let remote_events = remote.handle.events(); @@ -119,7 +122,9 @@ impl + cyphernet::Ecdh> NodeHandle { .iter() .find(|e| { matches!( - e, Event::PeerConnected { nid } if nid == &self.id + e, + Event::PeerConnected { nid } | Event::PeerDisconnected { nid, .. } + if nid == &self.id ) }) .unwrap();