v0.7.8 - Fully static builds implemented with musl-gcc
This commit is contained in:
34
tests/subscription_validation.sh
Executable file
34
tests/subscription_validation.sh
Executable file
@@ -0,0 +1,34 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Test script to validate subscription ID handling fixes
|
||||
# This tests the memory corruption fixes in subscription handling
|
||||
|
||||
echo "Testing subscription ID validation fixes..."
|
||||
|
||||
# Test malformed subscription IDs
|
||||
echo "Testing malformed subscription IDs..."
|
||||
|
||||
# Test 1: Empty subscription ID
|
||||
echo '["REQ","",{}]' | timeout 5 wscat -c ws://localhost:8888 2>/dev/null || echo "Empty ID test: Connection failed (expected)"
|
||||
|
||||
# Test 2: Very long subscription ID (over 64 chars)
|
||||
echo '["REQ","verylongsubscriptionidthatshouldexceedthemaximumlengthlimitof64characters",{}]' | timeout 5 wscat -c ws://localhost:8888 2>/dev/null || echo "Long ID test: Connection failed (expected)"
|
||||
|
||||
# Test 3: Subscription ID with invalid characters
|
||||
echo '["REQ","sub@123",{}]' | timeout 5 wscat -c ws://localhost:8888 2>/dev/null || echo "Invalid chars test: Connection failed (expected)"
|
||||
|
||||
# Test 4: NULL subscription ID (this should be caught by JSON parsing)
|
||||
echo '["REQ",null,{}]' | timeout 5 wscat -c ws://localhost:8888 2>/dev/null || echo "NULL ID test: Connection failed (expected)"
|
||||
|
||||
# Test 5: Valid subscription ID (should work)
|
||||
echo '["REQ","valid_sub_123",{}]' | timeout 5 wscat -c ws://localhost:8888 2>/dev/null && echo "Valid ID test: Success" || echo "Valid ID test: Failed"
|
||||
|
||||
echo "Testing CLOSE message validation..."
|
||||
|
||||
# Test 6: CLOSE with malformed subscription ID
|
||||
echo '["CLOSE",""]' | timeout 5 wscat -c ws://localhost:8888 2>/dev/null || echo "CLOSE empty ID test: Connection failed (expected)"
|
||||
|
||||
# Test 7: CLOSE with valid subscription ID
|
||||
echo '["CLOSE","valid_sub_123"]' | timeout 5 wscat -c ws://localhost:8888 2>/dev/null && echo "CLOSE valid ID test: Success" || echo "CLOSE valid ID test: Failed"
|
||||
|
||||
echo "Subscription validation tests completed."
|
||||
Reference in New Issue
Block a user