diff options
| author | DanConwayDev <DanConwayDev@protonmail.com> | 2023-11-01 00:00:00 +0000 |
|---|---|---|
| committer | DanConwayDev <DanConwayDev@protonmail.com> | 2023-11-01 00:00:00 +0000 |
| commit | d7ec799d3565adc0503dd2f5c42c3953cbdd1fb9 (patch) | |
| tree | d454046cb75d1c183c91455ac0adc955f477c7eb /test_utils/src/relay.rs | |
| parent | 497bf71910f0f224ce66b154d58a228095a40c0a (diff) | |
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
Diffstat (limited to 'test_utils/src/relay.rs')
| -rw-r--r-- | test_utils/src/relay.rs | 17 |
1 files changed, 8 insertions, 9 deletions
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> { | |||
| 91 | self.respond_eose(client_id, subscription_id.clone()) | 91 | self.respond_eose(client_id, subscription_id.clone()) |
| 92 | } | 92 | } |
| 93 | 93 | ||
| 94 | pub fn shutdown(&mut self) -> Result<()> { | ||
| 95 | let (mut socket, _) = tungstenite::connect(format!("ws://localhost:{}", self.port))?; | ||
| 96 | socket.write(tungstenite::Message::text("shut me down"))?; | ||
| 97 | socket.close(None)?; | ||
| 98 | Ok(()) | ||
| 99 | } | ||
| 100 | /// listen, collect events and responds with event_listener to events or | 94 | /// listen, collect events and responds with event_listener to events or |
| 101 | /// Ok(eventid) if event_listner is None | 95 | /// Ok(eventid) if event_listner is None |
| 102 | pub async fn listen_until_close(&mut self) -> Result<()> { | 96 | pub async fn listen_until_close(&mut self) -> Result<()> { |
| @@ -159,9 +153,14 @@ impl<'a> Relay<'a> { | |||
| 159 | } | 153 | } |
| 160 | 154 | ||
| 161 | pub fn shutdown_relay(port: u64) -> Result<()> { | 155 | pub fn shutdown_relay(port: u64) -> Result<()> { |
| 162 | let (mut socket, _) = tungstenite::connect(format!("ws://localhost:{}", port))?; | 156 | let mut counter = 0; |
| 163 | socket.write(tungstenite::Message::text("shut me down"))?; | 157 | while let Ok((mut socket, _)) = tungstenite::connect(format!("ws://localhost:{}", port)) { |
| 164 | socket.close(None)?; | 158 | counter += 1; |
| 159 | if counter == 1 { | ||
| 160 | socket.write(tungstenite::Message::text("shut me down"))?; | ||
| 161 | } | ||
| 162 | socket.close(None)?; | ||
| 163 | } | ||
| 165 | Ok(()) | 164 | Ok(()) |
| 166 | } | 165 | } |
| 167 | 166 | ||