Compare commits

...

20 Commits

Author SHA1 Message Date
zhi
c96d012fef chore: update backend/frontend test submodule pointers to main head 2026-04-05 22:18:01 +00:00
h z
3f09573631 Merge pull request 'HarborForge.Test: update Frontend.Test submodule ref' (#5) from pr/dev-2026-03-29-frontend-test-submodule-20260405 into main
Reviewed-on: #5
2026-04-05 22:12:10 +00:00
zhi
3cd807566a TEST-FE-PR-001: update Frontend.Test submodule ref 2026-04-05 20:49:09 +00:00
zhi
ef8a4ae994 BE-PR-010: update submodule ref for Backend.Test 2026-03-30 12:50:03 +00:00
zhi
4c54503a81 Update HarborForge.Backend.Test submodule ref 2026-03-30 11:46:26 +00:00
zhi
62d339b58c BE-PR-001: Update submodule ref for Backend.Test 2026-03-29 15:35:54 +00:00
zhi
23cad37e03 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
2026-03-21 10:10:59 +00:00
zhi
779fb7b387 test: update frontend test defaults and propose suite 2026-03-20 11:38:12 +00:00
zhi
48c54c2f32 test: exclude real-plugin frontend test by default
Only run real-plugin.spec.ts when --test-real-plugin is explicitly provided.
2026-03-20 11:26:14 +00:00
zhi
f5294f5290 chore: update backend test submodule pointer 2026-03-20 09:47:51 +00:00
zhi
11d0865fd3 chore: update Frontend.Test with fixed real-plugin test 2026-03-20 05:08:44 +00:00
zhi
14f4fb8d16 chore: update Frontend.Test with real-plugin.spec.ts 2026-03-19 22:25:28 +00:00
zhi
cc2d4aea5c test: add real plugin integration test and --test-real-plugin option
- Add tests/real-plugin.spec.ts for end-to-end plugin testing
- Add --test-real-plugin flag to run-test-frontend.sh
- Test verifies: server registration, API key generation, heartbeat,
  data persistence, invalid key rejection, key revocation
2026-03-19 22:07:54 +00:00
zhi
5a45a72dcf chore: update Backend.Test submodule with comprehensive test suite
134 backend API tests added as independent project
2026-03-19 12:44:29 +00:00
zhi
ba3909ec68 chore: update Frontend.Test to master (includes task type fix) 2026-03-19 12:25:04 +00:00
805dc2fe32 Merge pull request 'chore: run frontend tests with modal-editor updates' (#4) from feat/modal-edit-permissions-20260316 into master
Reviewed-on: #4
2026-03-16 19:44:45 +00:00
zhi
81fe00bfb8 chore: update frontend test submodule for modal editors 2026-03-16 18:13:54 +00:00
zhi
4707f0614c chore: run frontend tests against dev-mode ui 2026-03-16 16:32:26 +00:00
zhi
c76c25fb5b chore: update frontend test submodule 2026-03-16 13:22:28 +00:00
zhi
1bb11ca92b chore: update Frontend.Test submodule (Issue→Task rename) 2026-03-16 07:48:18 +00:00
5 changed files with 37 additions and 17 deletions

View File

@@ -74,6 +74,9 @@ services:
restart: "no"
environment:
VITE_API_BASE_URL: http://backend:${BACKEND_PORT:-8000}
VITE_WIZARD_PORT: ${WIZARD_PORT:-8080}
FRONTEND_DEV_MODE: ${FRONTEND_DEV_MODE:-1}
NODE_ENV: development
ports:
- "127.0.0.1:${FRONTEND_PORT:-3000}:${FRONTEND_PORT:-3000}"
depends_on:

View File

@@ -72,6 +72,9 @@ services:
environment:
# Use internal service name
VITE_API_BASE_URL: http://backend:${BACKEND_PORT:-8000}
VITE_WIZARD_PORT: ${WIZARD_PORT:-8080}
FRONTEND_DEV_MODE: ${FRONTEND_DEV_MODE:-1}
NODE_ENV: development
networks:
- test-network

View File

@@ -1,10 +1,8 @@
#!/bin/bash
# Run frontend test with optional port exposure
# Usage: ./run-test-frontend.sh [--expose-port {on|off}]
# Default: off
#
# --expose-port on: Keep services running after test (manual cleanup required)
# --expose-port off: Auto cleanup after test (default)
# Default:
# --expose-port off: Auto cleanup after test
set -e
@@ -54,28 +52,44 @@ fi
echo "📦 Using compose file: $COMPOSE_FILE"
run_quiet() {
local label="$1"
shift
local log_file
log_file=$(mktemp)
if "$@" >"$log_file" 2>&1; then
rm -f "$log_file"
return 0
fi
echo "${label} failed"
echo "--- ${label} log ---"
tail -n 200 "$log_file"
rm -f "$log_file"
return 1
}
# Clean any previous containers first
echo "🧹 Cleaning up previous containers..."
docker compose -f "$COMPOSE_FILE" down -v 2>/dev/null || true
docker compose -f "$COMPOSE_FILE" down -v >/dev/null 2>&1 || true
# Build frontend with correct API base URL (force no cache, remove image first)
echo "🔨 Building frontend..."
docker rmi harborforge-test-frontend:dev 2>/dev/null || true
docker compose -f "$COMPOSE_FILE" build --no-cache --build-arg VITE_API_BASE=http://backend:8000 frontend
docker rmi harborforge-test-frontend:dev >/dev/null 2>&1 || true
run_quiet "frontend build" docker compose -f "$COMPOSE_FILE" build --no-cache --build-arg VITE_API_BASE=http://backend:8000 frontend
# Build backend (force no cache, remove image first)
echo "🔨 Building backend..."
docker rmi harborforge-test-backend:dev 2>/dev/null || true
docker compose -f "$COMPOSE_FILE" build --no-cache backend
docker rmi harborforge-test-backend:dev >/dev/null 2>&1 || true
run_quiet "backend build" docker compose -f "$COMPOSE_FILE" build --no-cache backend
# Build test runner (force no cache, remove image first)
echo "🔨 Building test runner..."
docker rmi harborforge-test-runner:dev 2>/dev/null || true
docker compose -f "$COMPOSE_FILE" build --no-cache test
docker rmi harborforge-test-runner:dev >/dev/null 2>&1 || true
run_quiet "test runner build" docker compose -f "$COMPOSE_FILE" build --no-cache test
# Start services
echo "📦 Starting services..."
docker compose -f "$COMPOSE_FILE" up -d
run_quiet "service startup" docker compose -f "$COMPOSE_FILE" up -d
# Wait for frontend to be ready
echo "⏳ Waiting for services..."
@@ -96,7 +110,7 @@ fi
echo "✅ Services ready!"
# Run test
# Run test using the image default CMD so proxy startup stays inside Frontend.Test Dockerfile
echo "🧪 Running test..."
docker compose -f "$COMPOSE_FILE" run --rm -e WORKERS=1 test
TEST_EXIT_CODE=$?
@@ -108,7 +122,7 @@ if [[ "$EXPOSE_PORT" == "on" ]]; then
echo " Use './run-test-frontend.sh --expose-port on' to cleanup"
echo " Or manually: docker compose -f $COMPOSE_FILE down -v"
echo ""
if [ $TEST_EXIT_CODE -eq 0 ]; then
echo "✅ Test passed!"
else
@@ -118,7 +132,7 @@ else
echo ""
echo "🧹 Cleaning up containers and volumes..."
docker compose -f "$COMPOSE_FILE" down -v
if [ $TEST_EXIT_CODE -eq 0 ]; then
echo "✅ Test passed!"
else