aboutsummaryrefslogtreecommitdiff
path: root/test/kafka/scripts/test_schema_registry.sh
diff options
context:
space:
mode:
Diffstat (limited to 'test/kafka/scripts/test_schema_registry.sh')
-rwxr-xr-xtest/kafka/scripts/test_schema_registry.sh77
1 files changed, 77 insertions, 0 deletions
diff --git a/test/kafka/scripts/test_schema_registry.sh b/test/kafka/scripts/test_schema_registry.sh
new file mode 100755
index 000000000..d5ba8574a
--- /dev/null
+++ b/test/kafka/scripts/test_schema_registry.sh
@@ -0,0 +1,77 @@
+#!/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