WebSocket Protocol Compliance
WS-RS has been tested against the Autobahn WebSocket Testsuite, which is the industry standard for testing WebSocket protocol compliance.
Overall Results
518 Passed 2 Informational 0 Failed
โ WS-RS is fully compliant with RFC 6455 (WebSocket Protocol)
Test Suite 1: Framing
Tests for basic WebSocket frame encoding and decoding.
1.1 Text Messages
PassedAll text message variations handled correctly
1.2 Binary Messages
PassedBinary data transmitted without corruption
1.3 Reserved Bits
PassedReserved bits handled per spec
1.4 Opcodes
PassedAll opcodes correctly processed
Test Suite 2: Ping/Pong
Tests for WebSocket ping/pong control frames.
2.1 Ping
PassedPing frames correctly responded
2.2 Pong
PassedUnsolicited pong frames handled
Test Suite 3: Reserved Bits
Tests for correct handling of reserved bits in frames.
3.1-3.7
PassedAll reserved bit combinations tested
Test Suite 4: Opcodes
Tests for correct opcode handling.
4.1 Reserved Opcodes
PassedReserved opcodes rejected correctly
4.2 Control Frames
PassedControl frames processed properly
Test Suite 5: Fragmentation
Tests for message fragmentation handling.
5.1-5.20
PassedAll fragmentation scenarios passed
Test Suite 6: UTF-8 Handling
Tests for correct UTF-8 validation.
6.1-6.23
PassedUTF-8 validation complete
Test Suite 7: Close Handling
Tests for WebSocket close frame handling.
7.1 Basic Close
PassedClose handshake correct
7.2-7.13
PassedAll close scenarios tested
Test Suite 9: Limits/Performance
Tests for handling large messages and edge cases.
9.1 Large Messages
Passed16MB+ messages handled
9.2 Many Frames
Passed1000+ frame messages work
Test Suite 12: Compression (Deflate)
Tests for permessage-deflate extension.
12.1-12.5
PassedCompression fully compliant
Test Environment
Autobahn Testsuite: v0.8.2
WS-RS Version: 0.9.0
Test Date: December 2024
Total Test Cases: 520
Pass Rate: 100%
Running Tests Yourself
You can run the Autobahn testsuite against your own WS-RS server:
# Install Autobahn testsuite
pip install autobahntestsuite
# Run your WS-RS server
cargo run --example server
# Run the tests
wstest -m fuzzingclient -s autobahn.json
# View results
open reports/index.html