Files

CLI E2E Tests

End-to-end tests for the compiled composio CLI binary.

How It Works

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.

Test Suites

Suite Description Env Vars
version composio version output and exit code None
whoami composio whoami prints the API key COMPOSIO_USER_API_KEY

Isolation Tool

Docker with the CLI version resolved from the current monorepo build (cli: ['current']).

Running

# 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