From d7ec799d3565adc0503dd2f5c42c3953cbdd1fb9 Mon Sep 17 00:00:00 2001 From: DanConwayDev Date: Wed, 1 Nov 2023 00:00:00 +0000 Subject: build(test) fix running tests together use a patched websocket server that releases port after x connections enabling its use in many tests included in the same test run --- test_utils/Cargo.toml | 2 +- test_utils/src/relay.rs | 17 ++++++++--------- 2 files changed, 9 insertions(+), 10 deletions(-) (limited to 'test_utils') diff --git a/test_utils/Cargo.toml b/test_utils/Cargo.toml index 6a3fff8..7901b13 100644 --- a/test_utils/Cargo.toml +++ b/test_utils/Cargo.toml @@ -13,6 +13,6 @@ nostr = "0.24.0" once_cell = "1.18.0" rand = "0.8" rexpect = { git = "https://github.com/phaer/rexpect.git", branch= "skip-ansi-escape-codes" } -simple-websockets = "0.1.6" +simple-websockets = {path = "../../simple-websockets" } strip-ansi-escapes = "0.2.0" tungstenite = "0.20.1" diff --git a/test_utils/src/relay.rs b/test_utils/src/relay.rs index ce618a3..db6a96c 100644 --- a/test_utils/src/relay.rs +++ b/test_utils/src/relay.rs @@ -91,12 +91,6 @@ impl<'a> Relay<'a> { self.respond_eose(client_id, subscription_id.clone()) } - pub fn shutdown(&mut self) -> Result<()> { - let (mut socket, _) = tungstenite::connect(format!("ws://localhost:{}", self.port))?; - socket.write(tungstenite::Message::text("shut me down"))?; - socket.close(None)?; - Ok(()) - } /// listen, collect events and responds with event_listener to events or /// Ok(eventid) if event_listner is None pub async fn listen_until_close(&mut self) -> Result<()> { @@ -159,9 +153,14 @@ impl<'a> Relay<'a> { } pub fn shutdown_relay(port: u64) -> Result<()> { - let (mut socket, _) = tungstenite::connect(format!("ws://localhost:{}", port))?; - socket.write(tungstenite::Message::text("shut me down"))?; - socket.close(None)?; + let mut counter = 0; + while let Ok((mut socket, _)) = tungstenite::connect(format!("ws://localhost:{}", port)) { + counter += 1; + if counter == 1 { + socket.write(tungstenite::Message::text("shut me down"))?; + } + socket.close(None)?; + } Ok(()) } -- cgit v1.2.3