Initial commit
This commit is contained in:
97
test_data/setup_test_environment.sh
Executable file
97
test_data/setup_test_environment.sh
Executable file
@@ -0,0 +1,97 @@
|
||||
#!/bin/bash
|
||||
# Setup script for test SQL Server environment
|
||||
|
||||
set -e
|
||||
|
||||
echo "=========================================="
|
||||
echo "SQL Server Test Environment Setup"
|
||||
echo "=========================================="
|
||||
echo ""
|
||||
|
||||
# Check if Docker is installed
|
||||
if ! command -v docker &> /dev/null; then
|
||||
echo "Error: Docker is not installed"
|
||||
echo "Please install Docker first: https://docs.docker.com/get-docker/"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Check if Docker Compose is available (either standalone or plugin)
|
||||
if ! command -v docker-compose &> /dev/null && ! docker compose version &> /dev/null; then
|
||||
echo "Error: Docker Compose is not installed"
|
||||
echo "Please install Docker Compose first"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Determine which compose command to use
|
||||
if docker compose version &> /dev/null; then
|
||||
COMPOSE_CMD="docker compose"
|
||||
else
|
||||
COMPOSE_CMD="docker-compose"
|
||||
fi
|
||||
|
||||
echo "Step 1: Starting SQL Server containers..."
|
||||
$COMPOSE_CMD -f docker-compose.test.yml up -d
|
||||
|
||||
echo ""
|
||||
echo "Step 2: Waiting for SQL Server to be ready..."
|
||||
echo "This may take 30-60 seconds..."
|
||||
|
||||
# Set default password if not provided
|
||||
SA_PASSWORD=${SA_PASSWORD:-YourStrong!Passw0rd}
|
||||
|
||||
# Wait for baseline server
|
||||
echo -n "Waiting for baseline server"
|
||||
for i in {1..30}; do
|
||||
if docker exec drt-sqlserver-baseline /opt/mssql-tools18/bin/sqlcmd -S localhost -U sa -P "$SA_PASSWORD" -C -Q "SELECT 1" &> /dev/null; then
|
||||
echo " ✓"
|
||||
break
|
||||
fi
|
||||
echo -n "."
|
||||
sleep 2
|
||||
done
|
||||
|
||||
# Wait for target server
|
||||
echo -n "Waiting for target server"
|
||||
for i in {1..30}; do
|
||||
if docker exec drt-sqlserver-target /opt/mssql-tools18/bin/sqlcmd -S localhost -U sa -P "$SA_PASSWORD" -C -Q "SELECT 1" &> /dev/null; then
|
||||
echo " ✓"
|
||||
break
|
||||
fi
|
||||
echo -n "."
|
||||
sleep 2
|
||||
done
|
||||
|
||||
echo ""
|
||||
echo "Step 3: Initializing baseline database..."
|
||||
docker exec -i drt-sqlserver-baseline /opt/mssql-tools18/bin/sqlcmd -S localhost -U sa -P "$SA_PASSWORD" -C < test_data/init_baseline.sql
|
||||
|
||||
echo ""
|
||||
echo "Step 4: Initializing target database..."
|
||||
docker exec -i drt-sqlserver-target /opt/mssql-tools18/bin/sqlcmd -S localhost -U sa -P "$SA_PASSWORD" -C < test_data/init_target.sql
|
||||
|
||||
echo ""
|
||||
echo "=========================================="
|
||||
echo "Setup completed successfully!"
|
||||
echo "=========================================="
|
||||
echo ""
|
||||
echo "SQL Server instances are running:"
|
||||
echo " Baseline: localhost:1433"
|
||||
echo " Target: localhost:1434"
|
||||
echo ""
|
||||
echo "Credentials:"
|
||||
echo " Username: sa"
|
||||
echo " Password: (set via SA_PASSWORD environment variable)"
|
||||
echo ""
|
||||
echo "Test databases:"
|
||||
echo " Baseline: TestDB_Baseline"
|
||||
echo " Target: TestDB_Target"
|
||||
echo ""
|
||||
echo "To test the connection:"
|
||||
echo " drt discover --server localhost --database TestDB_Baseline --output config_test.yaml"
|
||||
echo ""
|
||||
echo "To stop the servers:"
|
||||
echo " $COMPOSE_CMD -f docker-compose.test.yml down"
|
||||
echo ""
|
||||
echo "To stop and remove all data:"
|
||||
echo " $COMPOSE_CMD -f docker-compose.test.yml down -v"
|
||||
echo ""
|
||||
Reference in New Issue
Block a user