Back to Composio

CLI E2E Tests

ts/e2e-tests/cli/README.md

0.11.11.1 KB
Original Source

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

SuiteDescriptionEnv Vars
versioncomposio version output and exit codeNone
whoamicomposio whoami prints the API keyCOMPOSIO_USER_API_KEY

Isolation Tool

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

Running

bash
# 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