From 54f2850d9d3cc42eb93e0d44d19bed5d9fbf2d0a Mon Sep 17 00:00:00 2001 From: KKRainbow <5665404+KKRainbow@users.noreply.github.com> Date: Thu, 22 Oct 2026 08:42:03 +0800 Subject: [PATCH] test(connector): wait for reply route in foreign network direct connect (#2738) --- easytier/src/tests/three_node.rs | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/easytier/src/tests/three_node.rs b/easytier/src/tests/three_node.rs index c4ef3cde..f926611c 100644 --- a/easytier/src/tests/three_node.rs +++ b/easytier/src/tests/three_node.rs @@ -2953,6 +2953,25 @@ async fn foreign_network_advertises_listeners_for_direct_connect( Duration::from_secs(10), ) .await; + // The reply is routed back by the remote server, so wait until it has + // learned the client peer in the client network as well. + let client_peer_id = client.peer_id(); + wait_for_condition( + || async { + remote_server + .foreign_network_snapshots(false) + .await + .get("client-net") + .is_some_and(|network| { + network + .peers + .iter() + .any(|peer| peer.peer_id == client_peer_id) + }) + }, + Duration::from_secs(10), + ) + .await; let rpc = client .peer_manager() .get_peer_rpc_mgr()