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/src/relay.rs | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) (limited to 'test_utils/src/relay.rs') 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