Skip to content

feat: add maybe_ versions of web socket receiving code - #210

Open
JosephLenton wants to merge 5 commits into
mainfrom
feat-maybe-receive-message
Open

JosephLenton wants to merge 5 commits into
mainfrom
feat-maybe-receive-message

Conversation

@JosephLenton

@JosephLenton JosephLenton commented Aug 8, 2026

Copy link
Copy Markdown
Owner

Changes

  • Adds TestWebSocket::maybe_receive_message()
  • Adds TestWebSocket::maybe_receive_text()
  • Adds TestWebSocket::maybe_receive_json()
  • Adds TestWebSocket::maybe_receive_yaml()
  • Adds TestWebSocket::maybe_receive_msgpack()
  • Adds TestWebSocket::maybe_receive_bytes()
  • Adds TestWebSocket::assert_receive_message()
  • Adds TestWebSocket::assert_receive_no_message()
  • Adds TestServerBuilder::web_socket_receive_timeout() -- to set the default timeout for waiting for web socket messages. Default is 20ms.

Breaking change

  • All TestWebSocket receive functions will now timeout within 20 milliseconds if they didn't receive a message. Previously they would block forever until the stream is closed.

Implements #209

@JosephLenton
JosephLenton force-pushed the feat-maybe-receive-message branch from c8fc9e9 to 688a544 Compare August 21, 2026 13:52
@JosephLenton

Copy link
Copy Markdown
Owner Author

What's left

  1. Test flakiness when running test_assert_receive_text::it_should_ping_pong_large_text_blobs.
  2. Missing test coverage for:
  • assert_receive_no_message
  • assert_receive_no_message_within
  • assert_receive_message
  • maybe_receive_text, maybe_receive_json, maybe_receive_yaml, maybe_receive_msgpack, maybe_receive_bytes
  • set_receive_timeout and web_socket_receive_timeout builder methods
  1. add documentation

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant