upleb.uk

Public git repos — served from a NIP-34 GRASP relay at git.upleb.uk

summaryrefslogtreecommitdiff
path: root/test_utils
diff options
context:
space:
mode:
authorDanConwayDev <DanConwayDev@protonmail.com>2023-11-01 00:00:00 +0000
committerDanConwayDev <DanConwayDev@protonmail.com>2023-11-01 00:00:00 +0000
commitd7ec799d3565adc0503dd2f5c42c3953cbdd1fb9 (patch)
treed454046cb75d1c183c91455ac0adc955f477c7eb /test_utils
parent497bf71910f0f224ce66b154d58a228095a40c0a (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')
-rw-r--r--test_utils/Cargo.toml2
-rw-r--r--test_utils/src/relay.rs17
2 files changed, 9 insertions, 10 deletions
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"
13once_cell = "1.18.0" 13once_cell = "1.18.0"
14rand = "0.8" 14rand = "0.8"
15rexpect = { git = "https://github.com/phaer/rexpect.git", branch= "skip-ansi-escape-codes" } 15rexpect = { git = "https://github.com/phaer/rexpect.git", branch= "skip-ansi-escape-codes" }
16simple-websockets = "0.1.6" 16simple-websockets = {path = "../../simple-websockets" }
17strip-ansi-escapes = "0.2.0" 17strip-ansi-escapes = "0.2.0"
18tungstenite = "0.20.1" 18tungstenite = "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> {
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
161pub fn shutdown_relay(port: u64) -> Result<()> { 155pub 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