ts/e2e-tests/cli/README.md
End-to-end tests for the compiled composio CLI binary.
Each test suite runs the composio binary inside a scratch Debian Docker container built from Dockerfile.cli. The binary is compiled via bun build --compile during the Docker image build, producing a self-contained executable with no runtime dependencies.
Tests use runCmd to execute shell commands in the container and assert on exit code, stdout, and stderr. When stdout is piped (e.g., composio version > out.txt), the CLI suppresses all decoration and writes only machine-readable data — these tests verify that contract.
| Suite | Description | Env Vars |
|---|---|---|
| version | composio version output and exit code | None |
| whoami | composio whoami prints the API key | COMPOSIO_USER_API_KEY |
Docker with the CLI version resolved from the current monorepo build (cli: ['current']).
# All CLI e2e tests
pnpm test:e2e:cli
# A specific suite
cd ts/e2e-tests/cli/version && pnpm test:e2e:cli
cd ts/e2e-tests/cli/whoami && pnpm test:e2e:cli