test: simplify frontend test runner and rely on image default command
- remove --test-real-plugin option - stop overriding test container CMD - let Frontend.Test Dockerfile own proxy startup and playwright launch
This commit is contained in:
Submodule HarborForge.Frontend.Test updated: d8007fab3d...df05820a95
@@ -1,16 +1,13 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
# Run frontend test with optional port exposure
|
# Run frontend test with optional port exposure
|
||||||
# Usage: ./run-test-frontend.sh [--expose-port {on|off}] [--test-real-plugin]
|
# Usage: ./run-test-frontend.sh [--expose-port {on|off}]
|
||||||
# Default:
|
# Default:
|
||||||
# --expose-port off: Auto cleanup after test
|
# --expose-port off: Auto cleanup after test
|
||||||
# --test-real-plugin: Run only real-plugin.spec.ts (requires vps.t1 plugin)
|
|
||||||
|
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
EXPOSE_PORT="off"
|
EXPOSE_PORT="off"
|
||||||
TEST_REAL_PLUGIN="off"
|
|
||||||
COMPOSE_FILE="docker-compose-frontend.yml"
|
COMPOSE_FILE="docker-compose-frontend.yml"
|
||||||
TEST_PATTERN=""
|
|
||||||
|
|
||||||
# Load environment variables from .env.TEST if exists
|
# Load environment variables from .env.TEST if exists
|
||||||
if [ -f ".env.TEST" ]; then
|
if [ -f ".env.TEST" ]; then
|
||||||
@@ -31,13 +28,9 @@ while [[ $# -gt 0 ]]; do
|
|||||||
EXPOSE_PORT="${1#*=}"
|
EXPOSE_PORT="${1#*=}"
|
||||||
shift
|
shift
|
||||||
;;
|
;;
|
||||||
--test-real-plugin)
|
|
||||||
TEST_REAL_PLUGIN="on"
|
|
||||||
shift
|
|
||||||
;;
|
|
||||||
*)
|
*)
|
||||||
echo "Unknown option: $1"
|
echo "Unknown option: $1"
|
||||||
echo "Usage: $0 [--expose-port {on|off}] [--test-real-plugin]"
|
echo "Usage: $0 [--expose-port {on|off}]"
|
||||||
exit 1
|
exit 1
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
@@ -49,14 +42,6 @@ if [[ "$EXPOSE_PORT" != "on" && "$EXPOSE_PORT" != "off" ]]; then
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Set test pattern for real plugin test
|
|
||||||
if [[ "$TEST_REAL_PLUGIN" == "on" ]]; then
|
|
||||||
TEST_PATTERN="real-plugin.spec.ts"
|
|
||||||
echo "🔌 Real Plugin Test Mode: ON"
|
|
||||||
echo " Will run: tests/real-plugin.spec.ts"
|
|
||||||
echo " Requires vps.t1 to have OpenClaw plugin installed"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Select compose file based on expose-port
|
# Select compose file based on expose-port
|
||||||
if [[ "$EXPOSE_PORT" == "on" ]]; then
|
if [[ "$EXPOSE_PORT" == "on" ]]; then
|
||||||
COMPOSE_FILE="docker-compose-frontend-expose.yml"
|
COMPOSE_FILE="docker-compose-frontend-expose.yml"
|
||||||
@@ -125,15 +110,9 @@ fi
|
|||||||
|
|
||||||
echo "✅ Services ready!"
|
echo "✅ Services ready!"
|
||||||
|
|
||||||
# Run test
|
# Run test using the image default CMD so proxy startup stays inside Frontend.Test Dockerfile
|
||||||
echo "🧪 Running test..."
|
echo "🧪 Running test..."
|
||||||
if [[ -n "$TEST_PATTERN" ]]; then
|
docker compose -f "$COMPOSE_FILE" run --rm -e WORKERS=1 test
|
||||||
# Run specific test for real plugin only when explicitly requested
|
|
||||||
docker compose -f "$COMPOSE_FILE" run --rm -e WORKERS=1 test npx playwright test tests/real-plugin.spec.ts --reporter=list
|
|
||||||
else
|
|
||||||
# Default: run all frontend tests EXCEPT real-plugin.spec.ts
|
|
||||||
docker compose -f "$COMPOSE_FILE" run --rm -e WORKERS=1 test sh -lc 'npx playwright test $(find tests -name "*.spec.ts" ! -name "real-plugin.spec.ts" | sort) --reporter=list'
|
|
||||||
fi
|
|
||||||
TEST_EXIT_CODE=$?
|
TEST_EXIT_CODE=$?
|
||||||
|
|
||||||
# Cleanup decision based on expose-port
|
# Cleanup decision based on expose-port
|
||||||
@@ -143,7 +122,7 @@ if [[ "$EXPOSE_PORT" == "on" ]]; then
|
|||||||
echo " Use './run-test-frontend.sh --expose-port on' to cleanup"
|
echo " Use './run-test-frontend.sh --expose-port on' to cleanup"
|
||||||
echo " Or manually: docker compose -f $COMPOSE_FILE down -v"
|
echo " Or manually: docker compose -f $COMPOSE_FILE down -v"
|
||||||
echo ""
|
echo ""
|
||||||
|
|
||||||
if [ $TEST_EXIT_CODE -eq 0 ]; then
|
if [ $TEST_EXIT_CODE -eq 0 ]; then
|
||||||
echo "✅ Test passed!"
|
echo "✅ Test passed!"
|
||||||
else
|
else
|
||||||
@@ -153,7 +132,7 @@ else
|
|||||||
echo ""
|
echo ""
|
||||||
echo "🧹 Cleaning up containers and volumes..."
|
echo "🧹 Cleaning up containers and volumes..."
|
||||||
docker compose -f "$COMPOSE_FILE" down -v
|
docker compose -f "$COMPOSE_FILE" down -v
|
||||||
|
|
||||||
if [ $TEST_EXIT_CODE -eq 0 ]; then
|
if [ $TEST_EXIT_CODE -eq 0 ]; then
|
||||||
echo "✅ Test passed!"
|
echo "✅ Test passed!"
|
||||||
else
|
else
|
||||||
|
|||||||
Reference in New Issue
Block a user