You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
77 lines
2.2 KiB
77 lines
2.2 KiB
#!/bin/bash
|
|
|
|
# Test script for schema registry E2E testing
|
|
# This script sets up a mock schema registry and runs the E2E tests
|
|
|
|
set -e
|
|
|
|
echo "🚀 Starting Schema Registry E2E Test"
|
|
|
|
# Check if we have a real schema registry URL
|
|
if [ -n "$SCHEMA_REGISTRY_URL" ]; then
|
|
echo "📡 Using real Schema Registry: $SCHEMA_REGISTRY_URL"
|
|
else
|
|
echo "🔧 No SCHEMA_REGISTRY_URL set, using mock registry"
|
|
# For now, we'll skip the test if no real registry is available
|
|
# In the future, we could start a mock registry here
|
|
export SCHEMA_REGISTRY_URL="http://localhost:8081"
|
|
echo "⚠️ Mock registry not implemented yet, test will be skipped"
|
|
fi
|
|
|
|
# Start SeaweedFS infrastructure
|
|
echo "🌱 Starting SeaweedFS infrastructure..."
|
|
cd /Users/chrislu/go/src/github.com/seaweedfs/seaweedfs
|
|
|
|
# Clean up any existing processes
|
|
pkill -f "weed server" || true
|
|
pkill -f "weed mq.broker" || true
|
|
sleep 2
|
|
|
|
# Start SeaweedFS server
|
|
echo "🗄️ Starting SeaweedFS server..."
|
|
/tmp/weed server -dir=/tmp/seaweedfs-test -master.port=9333 -volume.port=8080 -filer.port=8888 -ip=localhost > /tmp/seaweed-server.log 2>&1 &
|
|
SERVER_PID=$!
|
|
|
|
# Wait for server to be ready
|
|
sleep 5
|
|
|
|
# Start MQ broker
|
|
echo "📨 Starting SeaweedMQ broker..."
|
|
/tmp/weed mq.broker -master=localhost:9333 -port=17777 > /tmp/seaweed-broker.log 2>&1 &
|
|
BROKER_PID=$!
|
|
|
|
# Wait for broker to be ready
|
|
sleep 3
|
|
|
|
# Check if services are running
|
|
if ! curl -s http://localhost:9333/cluster/status > /dev/null; then
|
|
echo "[FAIL] SeaweedFS server not ready"
|
|
exit 1
|
|
fi
|
|
|
|
echo "[OK] SeaweedFS infrastructure ready"
|
|
|
|
# Run the schema registry E2E tests
|
|
echo "🧪 Running Schema Registry E2E tests..."
|
|
cd /Users/chrislu/go/src/github.com/seaweedfs/seaweedfs/test/kafka
|
|
|
|
export SEAWEEDFS_MASTERS=127.0.0.1:9333
|
|
|
|
# Run the tests
|
|
if go test -v ./integration -run TestSchemaRegistryE2E -timeout 5m; then
|
|
echo "[OK] Schema Registry E2E tests PASSED!"
|
|
TEST_RESULT=0
|
|
else
|
|
echo "[FAIL] Schema Registry E2E tests FAILED!"
|
|
TEST_RESULT=1
|
|
fi
|
|
|
|
# Cleanup
|
|
echo "🧹 Cleaning up..."
|
|
kill $BROKER_PID $SERVER_PID 2>/dev/null || true
|
|
sleep 2
|
|
pkill -f "weed server" || true
|
|
pkill -f "weed mq.broker" || true
|
|
|
|
echo "🏁 Schema Registry E2E Test completed"
|
|
exit $TEST_RESULT
|