Vapora/crates/vapora-rlm/tests/test_setup.sh

50 lines
1.6 KiB
Bash
Raw Normal View History

2026-02-16 05:09:51 +00:00
#!/usr/bin/env bash
# Test Setup Script for Phase 9 Integration Tests
# This script ensures SurrealDB has the correct schema before running tests
set -e
echo "🔧 Setting up test environment for Phase 9..."
# Check if SurrealDB is running
if ! nc -z 127.0.0.1 8000 2>/dev/null; then
echo "❌ SurrealDB is not running on port 8000"
echo " Start it with: docker run -p 8000:8000 surrealdb/surrealdb:latest start --bind 0.0.0.0:8000 --user root --pass root"
exit 1
fi
echo "✓ SurrealDB is running"
# Apply migrations using surreal CLI if available, otherwise use curl
if command -v surreal &> /dev/null; then
echo "✓ Found surreal CLI"
# Apply RLM schema migration
echo "📋 Applying RLM schema migration..."
surreal sql --endpoint http://127.0.0.1:8000 --namespace test_rlm_e2e --database test_rlm_e2e --username root --password root < ../../../migrations/008_rlm_schema.surql
echo "✓ Schema migration applied"
else
echo "⚠ surreal CLI not found, using curl..."
# Read migration file and apply via HTTP
MIGRATION=$(cat ../../../migrations/008_rlm_schema.surql)
curl -X POST http://127.0.0.1:8000/sql \
-H "Accept: application/json" \
-H "NS: test_rlm_e2e" \
-H "DB: test_rlm_e2e" \
-u "root:root" \
-d "$MIGRATION" > /dev/null 2>&1
echo "✓ Schema applied via curl"
fi
echo ""
echo "✅ Test environment ready!"
echo ""
echo "Run tests with:"
echo " cargo test -p vapora-rlm --test e2e_integration -- --ignored --test-threads=1"
echo " cargo test -p vapora-rlm --test performance_test -- --ignored"
echo " cargo test -p vapora-rlm --test security_test -- --ignored"