From 5c2ff26971b4bd5fdbd90b3bf2fd4fb9441e2b9b Mon Sep 17 00:00:00 2001 From: Daniel Sanchez Quiros Date: Mon, 17 Oct 2022 18:40:18 +0200 Subject: [PATCH] Add disconnect test --- waku/src/node/mod.rs | 2 +- waku/src/node/peers.rs | 4 ++-- waku/tests/node.rs | 6 ++++++ 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/waku/src/node/mod.rs b/waku/src/node/mod.rs index 1735136..9ad554b 100644 --- a/waku/src/node/mod.rs +++ b/waku/src/node/mod.rs @@ -135,7 +135,7 @@ impl WakuNodeHandle { /// Disconnect a peer using its peerID /// /// wrapper around [`peers::waku_disconnect_peer_with_id`] - pub fn disconnect_peer_with_id(&self, peer_id: PeerId) -> Result<()> { + pub fn disconnect_peer_with_id(&self, peer_id: &PeerId) -> Result<()> { peers::waku_disconnect_peer_with_id(peer_id) } diff --git a/waku/src/node/peers.rs b/waku/src/node/peers.rs index dfaf961..dea603f 100644 --- a/waku/src/node/peers.rs +++ b/waku/src/node/peers.rs @@ -86,10 +86,10 @@ pub fn waku_connect_peer_with_id(peer_id: PeerId, timeout: Option) -> /// Disconnect a peer using its peer id /// As per the [specification](https://rfc.vac.dev/spec/36/#extern-char-waku_disconnect_peerchar-peerid) -pub fn waku_disconnect_peer_with_id(peer_id: PeerId) -> Result<()> { +pub fn waku_disconnect_peer_with_id(peer_id: &PeerId) -> Result<()> { let response = unsafe { CStr::from_ptr(waku_sys::waku_disconnect( - CString::new(peer_id) + CString::new(peer_id.as_bytes()) .expect("CString should build properly from peer id") .into_raw(), )) diff --git a/waku/tests/node.rs b/waku/tests/node.rs index 86cdf83..3fdb2bc 100644 --- a/waku/tests/node.rs +++ b/waku/tests/node.rs @@ -136,6 +136,12 @@ pub fn main() -> Result<(), String> { None, )?; + for node_data in node.peers()? { + if node_data.peer_id() != &node.peer_id()? { + node.disconnect_peer_with_id(node_data.peer_id())?; + } + } + std::thread::sleep(Duration::from_secs(2)); node.stop()?; Ok(())