mirror of
https://github.com/hanzoai/s3.git
synced 2026-10-30 14:59:09 +00:00
Full internal rename — build-verified, every module green (root + s3-rdma-sidecar
+ telemetry/server + all test modules):
- Dirs: weed/→s3/ (main tree); cmd/weed-{db,sql}→cmd/s3-{db,sql};
seaweed-volume→s3-volume; seaweedfs-rdma-sidecar→s3-rdma-sidecar;
s3/mount/weedfs_*.go→s3fs_*.go (~113 path renames).
- Imports: github.com/hanzoai/s3/weed/ → /s3/ across 1700+ files.
- gRPC proto services Seaweed/SeaweedFiler/SeaweedMessaging/... → Hanzo*
(8 services) via full protoc regeneration (correct descriptors, no sed-corruption).
- Brand SeaweedFS/Seaweed/seaweed → Hanzo/hanzo; internal X-Seaweedfs-* headers
→ X-Hanzo-*; .seaweedfs config dir → .s3.
- CLI is `s3`: go install github.com/hanzoai/s3/s3@latest | make install | Docker.
install.sh rewritten as a Hanzo S3 installer.
- External forks github.com/seaweedfs/{raft,go-fuse,goexif,cockroachdb-parser}
kept verbatim — immutable third-party module paths; NOTICE retained.
Residual (cosmetic, non-build): kafka loadtest test-proto package com.seaweedfs.loadtest.
76 lines
2.2 KiB
Bash
Executable File
76 lines
2.2 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Test script for SMQ schema bypass functionality
|
|
# This script tests publishing to topics with "_" prefix which should bypass schema validation
|
|
|
|
set -e
|
|
|
|
echo "🧪 Testing SMQ Schema Bypass for Topics with '_' Prefix"
|
|
echo "========================================================="
|
|
|
|
# Check if Kafka gateway is running
|
|
echo "Checking if Kafka gateway is running on localhost:9093..."
|
|
if ! nc -z localhost 9093 2>/dev/null; then
|
|
echo "[FAIL] Kafka gateway is not running on localhost:9093"
|
|
echo "Please start HanzoMQ with Kafka gateway enabled first"
|
|
exit 1
|
|
fi
|
|
echo "[OK] Kafka gateway is running"
|
|
|
|
# Test with schema-required topic (should require schema)
|
|
echo
|
|
echo "Testing schema-required topic (should require schema validation)..."
|
|
SCHEMA_TOPIC="user-events"
|
|
echo "Topic: $SCHEMA_TOPIC (regular topic, requires schema)"
|
|
|
|
# Test with underscore prefix topic (should bypass schema)
|
|
echo
|
|
echo "Testing schema-bypass topic (should skip schema validation)..."
|
|
BYPASS_TOPIC="_raw_messages"
|
|
echo "Topic: $BYPASS_TOPIC (underscore prefix, bypasses schema)"
|
|
|
|
# Build and test the publisher
|
|
echo
|
|
echo "Building publisher..."
|
|
cd simple-publisher
|
|
go mod tidy
|
|
echo "[OK] Publisher dependencies ready"
|
|
|
|
echo
|
|
echo "Running publisher test..."
|
|
timeout 30s go run main.go || {
|
|
echo "[FAIL] Publisher test failed or timed out"
|
|
exit 1
|
|
}
|
|
echo "[OK] Publisher test completed"
|
|
|
|
# Build consumer
|
|
echo
|
|
echo "Building consumer..."
|
|
cd ../simple-consumer
|
|
go mod tidy
|
|
echo "[OK] Consumer dependencies ready"
|
|
|
|
echo
|
|
echo "Testing consumer (will run for 10 seconds)..."
|
|
timeout 10s go run main.go || {
|
|
if [ $? -eq 124 ]; then
|
|
echo "[OK] Consumer test completed (timed out as expected)"
|
|
else
|
|
echo "[FAIL] Consumer test failed"
|
|
exit 1
|
|
fi
|
|
}
|
|
|
|
echo
|
|
echo "All tests completed successfully!"
|
|
echo
|
|
echo "Summary:"
|
|
echo "- [OK] Topics with '_' prefix bypass schema validation"
|
|
echo "- [OK] Raw messages are stored as bytes in the 'value' field"
|
|
echo "- [OK] kafka-go client works with HanzoMQ"
|
|
echo "- [OK] No schema validation errors for '_raw_messages' topic"
|
|
echo
|
|
echo "The SMQ schema bypass functionality is working correctly!"
|
|
echo "Topics with '_' prefix are treated as system topics and bypass all schema processing."
|