add: chat service
This commit is contained in:
Executable
+62
@@ -0,0 +1,62 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
||||
LOG_DIR="$SCRIPT_DIR/logs"
|
||||
mkdir -p "$LOG_DIR"
|
||||
|
||||
echo "=== Chat Service Test Runner ==="
|
||||
echo "Log directory: $LOG_DIR"
|
||||
echo ""
|
||||
|
||||
cleanup() {
|
||||
echo ""
|
||||
echo "=== Collecting container logs ==="
|
||||
docker compose -f "$SCRIPT_DIR/docker-compose.yml" logs chat-rpc > "$LOG_DIR/chat-rpc.log" 2>&1 || true
|
||||
docker compose -f "$SCRIPT_DIR/docker-compose.yml" logs chat-api > "$LOG_DIR/chat-api.log" 2>&1 || true
|
||||
echo "=== Stopping containers ==="
|
||||
docker compose -f "$SCRIPT_DIR/docker-compose.yml" down --remove-orphans 2>/dev/null || true
|
||||
}
|
||||
trap cleanup EXIT
|
||||
|
||||
echo "=== Step 1: Building Docker images ==="
|
||||
docker compose -f "$SCRIPT_DIR/docker-compose.yml" build 2>&1 | tee "$LOG_DIR/build.log"
|
||||
echo ""
|
||||
|
||||
echo "=== Step 2: Starting services ==="
|
||||
docker compose -f "$SCRIPT_DIR/docker-compose.yml" up -d 2>&1 | tee -a "$LOG_DIR/build.log"
|
||||
echo ""
|
||||
|
||||
echo "=== Step 3: Waiting for services to be ready ==="
|
||||
for i in $(seq 1 30); do
|
||||
if curl -s http://localhost:28888 > /dev/null 2>&1 || [ $i -eq 30 ]; then
|
||||
break
|
||||
fi
|
||||
echo " waiting... ($i/30)"
|
||||
sleep 2
|
||||
done
|
||||
sleep 3
|
||||
echo "Services should be ready."
|
||||
echo ""
|
||||
|
||||
echo "=== Step 4: Running WebSocket tests ==="
|
||||
cd "$SCRIPT_DIR"
|
||||
python3 test_ws.py 2>&1 | tee "$LOG_DIR/ws_test_stdout.log"
|
||||
WS_RC=${PIPESTATUS[0]}
|
||||
echo ""
|
||||
|
||||
echo "=== Step 5: Running WebTransport fallback tests ==="
|
||||
python3 test_wt.py 2>&1 | tee "$LOG_DIR/wt_test_stdout.log"
|
||||
WT_RC=${PIPESTATUS[0]}
|
||||
echo ""
|
||||
|
||||
echo "=== Test Summary ==="
|
||||
echo "WebSocket test: $([ $WS_RC -eq 0 ] && echo 'PASSED' || echo 'FAILED')"
|
||||
echo "WebTransport test: $([ $WT_RC -eq 0 ] && echo 'PASSED' || echo 'FAILED')"
|
||||
echo ""
|
||||
echo "Logs saved to: $LOG_DIR/"
|
||||
ls -la "$LOG_DIR/"
|
||||
|
||||
if [ $WS_RC -ne 0 ] || [ $WT_RC -ne 0 ]; then
|
||||
exit 1
|
||||
fi
|
||||
Reference in New Issue
Block a user