Files
Oleksandr Bezdieniezhnykh 4eaf218f09 Quality cleanup refactoring
Made-with: Cursor
2026-04-13 06:21:26 +03:00

51 lines
1.2 KiB
Bash
Executable File

#!/usr/bin/env bash
set -uo pipefail
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PROJECT_DIR="$(dirname "$SCRIPT_DIR")"
COMPOSE_FILE="$PROJECT_DIR/e2e/docker-compose.test.yml"
cleanup() {
echo "=== Tearing down Docker services ==="
docker compose -f "$COMPOSE_FILE" down --timeout 10
}
trap cleanup EXIT
cd "$PROJECT_DIR"
pip3 install -q -r e2e/requirements.txt
echo "=== Starting Docker services ==="
docker compose -f "$COMPOSE_FILE" up -d --build
echo "=== Waiting for system-under-test ==="
DEADLINE=$((SECONDS + 60))
while [[ $SECONDS -lt $DEADLINE ]]; do
if curl -sf http://localhost:8080/health > /dev/null 2>&1; then
echo "system-under-test is ready"
break
fi
sleep 2
done
if ! curl -sf http://localhost:8080/health > /dev/null 2>&1; then
echo "ERROR: system-under-test did not become healthy within 60s"
docker compose -f "$COMPOSE_FILE" logs system-under-test
exit 1
fi
mkdir -p "$PROJECT_DIR/test-results"
echo "=== Running e2e tests ==="
python3 -m pytest e2e/tests/ -v --tb=short --junitxml=test-results/results.xml
EXIT_CODE=$?
echo ""
if [[ $EXIT_CODE -eq 0 ]]; then
echo "=== ALL TESTS PASSED ==="
else
echo "=== TESTS FAILED (exit code: $EXIT_CODE) ==="
fi
exit $EXIT_CODE