forked from molecule-ai/molecule-core
The script was stuck on pre-auth API expectations and hadn't been updated when /registry heartbeat and /registry/discover tightened: - Phase 30.1 (/registry/heartbeat, /registry/update-card): require Authorization: Bearer <token>. The token is returned in the register response as auth_token. - Phase 30.6 (/registry/discover/:id, /registry/:id/peers): require X-Workspace-ID caller identity + bearer token on the caller. Changes: - Capture ECHO_TOKEN and SUM_TOKEN from /registry/register responses - Thread Authorization: Bearer on every heartbeat + update-card call - Assert the new 400 "X-Workspace-ID header is required" rejection for the no-caller discover path (previously asserted old success shape) - Add bearer auth to sibling discover + /peers calls - Pre-test cleanup: delete all workspaces at script start so count assertions are reproducible across back-to-back runs Result: 62 passed, 0 failed (was 46/62). 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.