Prevents port conflicts with: - Current orchestrator (ports 3000/3001/3003) - Future orchestrator (ports 4000/4001/4003) Changes: - docker-compose.yml: Map ports 5000, 5001, 5003 - onboarding-test.sh: Configure port 5000, check 5003 for WebSocket - All health checks updated to use new ports Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| Dockerfile | ||
| README.md | ||
| docker-compose.yml | ||
| onboarding-test.sh | ||
| run-test.sh | ||
README.md
Integration Tests
Docker-based integration tests that simulate real-world onboarding and usage scenarios.
Onboarding Test
Tests the complete first-time developer experience:
- Fresh environment (no prior setup)
- Repository access
./scripts/setup.sh(install + build + link)ao init(configuration)ao start(dashboard + services)- Verify dashboard responds
- Verify API endpoints work
- Measure total onboarding time
Run Locally
cd tests/integration
docker-compose up --build
Run Manually (for debugging)
# Build image
docker-compose build
# Run container interactively
docker-compose run --rm onboarding-test /bin/bash
# Inside container, run test manually
/workspace/agent-orchestrator/tests/integration/onboarding-test.sh
Expected Results
- Total time: < 180s (3 minutes) for fresh install
- All steps pass: ✓ green checkmarks
- Dashboard accessible: http://localhost:4000
Metrics Tracked
- Setup time (pnpm install + build)
- Dashboard startup time
- API response time
- Total onboarding time
CI Integration
The test runs automatically on:
- Pull requests (when packages/ or scripts/ change)
- Pushes to main branch
View results: .github/workflows/onboarding-test.yml
Future Tests
- Multi-project test: Verify multiple projects in one config
- Port conflict test: Verify auto-port-selection
- Config discovery test: Verify config found from subdirectories
- Session spawn test: Verify
ao spawncreates working sessions - Terminal test: Verify WebSocket terminal connection
- Upgrade test: Verify upgrade from previous version
Adding New Tests
- Create test script in
tests/integration/<test-name>.sh - Add to
docker-compose.ymlas new service - Add to
.github/workflows/integration-tests.yml - Document expected behavior and metrics
Troubleshooting
Test fails at setup step:
- Check
scripts/setup.shfor errors - Verify pnpm is installed in Dockerfile
Dashboard doesn't start:
- Check port 4000 is not already in use
- Verify
pnpm devruns all required services - Check dashboard logs:
docker logs ao-onboarding-test
Test times out:
- Increase timeout in
docker-compose.yml - Check if any step hangs (tmux, npm link, etc.)