aboutsummaryrefslogtreecommitdiff
path: root/test/kafka/scripts/test_schema_registry.sh
blob: da1f5edb69dfe05430831a4a759c3d13e662ce66 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
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 -master.peers=none > /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