CI run of test_api.sh failed on "Re-imported workspace exists" because the assertion checked for status:"provisioning" but the async provisioner flipped the workspace to status:"failed" first (CI has no Docker images for agent runtimes — autogen/langgraph containers can't actually start there). Root cause is the same thing the rest of the E2E suite handles: the test is about bundle round-trip fidelity, not provisioning success. Fixes: - test_api.sh: assert workspace id is present, not a specific status - test_comprehensive_e2e.sh: send a fresh heartbeat before the "Dev status online after register" check so status is re-asserted to online regardless of what the provisioner did async Verified locally against the same no-Docker-image state as CI: - test_api.sh -> 62/62 - test_comprehensive_e2e.sh -> 67/67 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| e2e | ||
| README.md | ||
Tests
This repo uses the standard monorepo testing convention: unit tests live with their package, cross-component E2E tests live here.
Where to find tests
| Scope | Location |
|---|---|
| Go unit + integration (platform, CLI, handlers) | platform/**/*_test.go — run with cd platform && go test -race ./... |
| TypeScript unit (canvas components, hooks, store) | canvas/src/**/__tests__/ — run with cd canvas && npm test -- --run |
| TypeScript unit (MCP server handlers) | mcp-server/src/__tests__/ — run with cd mcp-server && npx jest |
| Python unit (workspace runtime, adapters) | workspace-template/tests/ — run with cd workspace-template && python3 -m pytest |
| Python unit (SDK: plugin + remote agent) | sdk/python/tests/ — run with cd sdk/python && python3 -m pytest |
| Cross-component E2E (spans platform + runtime + HTTP) | tests/e2e/ ← you are here |
Why split this way
- Go requires co-located
_test.gofiles to access unexported symbols. - Per-package test commands keep the inner loop fast — changing canvas doesn't re-run Go tests.
tests/e2e/covers scenarios that no single package owns: a full workspace lifecycle, A2A across two provisioned agents, delegation chains, bundle round-trips.
Running E2E
Every E2E script here assumes the platform is running at localhost:8080 and (where noted) provisioned agents are online. See the header comment of each .sh for specifics.