v0.7.10 - Fixed api errors in accepting : in subscriptions
This commit is contained in:
@@ -34,24 +34,36 @@ echo "[INFO] Testing subscription limits by creating multiple subscriptions..."
|
||||
success_count=0
|
||||
limit_hit=false
|
||||
|
||||
# Create multiple subscriptions in sequence (each in its own connection)
|
||||
for i in {1..30}; do
|
||||
echo "[INFO] Creating subscription $i..."
|
||||
sub_id="limit_test_$i_$(date +%s%N)"
|
||||
response=$(echo "[\"REQ\",\"$sub_id\",{}]" | timeout 5 websocat -n1 "$RELAY_URL" 2>/dev/null || echo "TIMEOUT")
|
||||
# Create multiple subscriptions within a single WebSocket connection
|
||||
echo "[INFO] Creating multiple subscriptions within a single connection..."
|
||||
|
||||
if echo "$response" | grep -q "CLOSED.*$sub_id.*exceeded"; then
|
||||
echo "[INFO] Hit subscription limit at subscription $i"
|
||||
# Build a sequence of REQ messages
|
||||
req_messages=""
|
||||
for i in {1..30}; do
|
||||
sub_id="limit_test_$i"
|
||||
req_messages="${req_messages}[\"REQ\",\"$sub_id\",{}]\n"
|
||||
done
|
||||
|
||||
# Send all messages through a single websocat connection and save to temp file
|
||||
temp_file=$(mktemp)
|
||||
echo -e "$req_messages" | timeout 10 websocat -B 1048576 "$RELAY_URL" 2>/dev/null > "$temp_file" || echo "TIMEOUT" >> "$temp_file"
|
||||
|
||||
# Parse the response to check for subscription limit enforcement
|
||||
subscription_count=0
|
||||
while read -r line; do
|
||||
if [[ "$line" == *"CLOSED"* && "$line" == *"exceeded"* ]]; then
|
||||
echo "[INFO] Hit subscription limit at subscription $((subscription_count + 1))"
|
||||
limit_hit=true
|
||||
break
|
||||
elif echo "$response" | grep -q "EOSE\|EVENT"; then
|
||||
((success_count++))
|
||||
else
|
||||
echo "[WARN] Unexpected response for subscription $i: $response"
|
||||
elif [[ "$line" == *"EOSE"* ]]; then
|
||||
subscription_count=$((subscription_count + 1))
|
||||
fi
|
||||
done < "$temp_file"
|
||||
|
||||
sleep 0.1
|
||||
done
|
||||
success_count=$subscription_count
|
||||
|
||||
# Clean up temp file
|
||||
rm -f "$temp_file"
|
||||
|
||||
if [ "$limit_hit" = true ]; then
|
||||
echo "[PASS] Subscription limit enforcement working (limit hit after $success_count subscriptions)"
|
||||
|
||||
Reference in New Issue
Block a user