Test commands
The CLI provides commands for validating and managing E2Engine Tests.
e2engine validate teste2engine create teste2engine get teste2engine get testse2engine run teste2engine delete testFor the Test resource model and specification format, see Tests.
Validate a Test
Section titled “Validate a Test”Validate a Test specification before creating it:
e2engine validate test <spec-path>For example:
e2engine validate test test.yamlIf the specification is valid, the command prints:
Test spec is validValidation checks the specification against the Test model and its validation rules without creating a persistent Test resource.
Verbose output
Section titled “Verbose output”Use --verbose or -v to display the validated Test:
e2engine validate test test.yaml --verboseTable output provides a compact representation of the resource. Use JSON or YAML to inspect the complete validated model:
e2engine validate test test.yaml -o yaml -ve2engine validate test test.yaml -o json -vQuiet validation
Section titled “Quiet validation”Use --quiet or -q when only the command result is needed:
e2engine validate test test.yaml --quietA successful validation produces no output. An invalid specification returns an error.
This form is useful in scripts and CI/CD pipelines.
Create a Test
Section titled “Create a Test”Create a Test from a specification:
e2engine create test <spec-path>For example:
e2engine create test test.yamlOn success, the default output identifies the created resource:
created test, name: successful-payment id: <test-id> version: 1.0.0Verbose output
Section titled “Verbose output”Use --verbose to display the created Test instead of the compact confirmation:
e2engine create test test.yaml --verboseThe default table format shows the resource metadata. JSON and YAML expose the complete created Test:
e2engine create test test.yaml -o yaml -vQuiet output
Section titled “Quiet output”With --quiet, the command prints only the ID of the created Test:
e2engine create test test.yaml --quietThis is useful when another command or script needs to capture the new resource ID.
Get a Test
Section titled “Get a Test”Retrieve a Test using its name or an ID prefix:
e2engine get test <ref>For example:
e2engine get test successful-paymentor:
e2engine get test f80d87062437The default table output provides a compact view of the resource.
Use YAML or JSON to retrieve its complete structured representation:
e2engine get test successful-payment -o yamle2engine get test successful-payment -o jsonThis includes the Test specification with its request and expectations.
List Tests
Section titled “List Tests”List stored Tests using the plural tests command:
e2engine get testsThe default output is a table:
ID NAME VERSION CREATED UPDATED------------ ------------------------- ------- --------------------------- ---------------------------f80d87062437 successful-payment 1.0.0 2026-09-27T11:51:36.828605Z 2026-09-27T11:51:36.828605Z4746ba6a4b8f fraud-rejection 1.0.0 2026-09-27T11:51:44.089121Z 2026-09-27T11:51:44.089121Z37f48bf91fd8 account-rejection 1.0.0 2026-09-27T11:51:51.906569Z 2026-09-27T11:51:51.906569Z98fb763b97dd fixture-miss-grpc-message 1.0.0 2026-09-28T05:19:35.601536Z 2026-09-28T05:19:35.601536ZThe table contains:
| Column | Description |
|---|---|
ID |
Compact Test ID |
NAME |
Test name |
VERSION |
Resource version |
CREATED |
Creation timestamp |
UPDATED |
Last update timestamp |
Limit results
Section titled “Limit results”Use --limit to restrict the maximum number of Tests returned:
e2engine get tests --limit 20Values above the configured maximum are capped automatically.
Ordering
Section titled “Ordering”Results can be ordered by:
idnameversioncreatedAtupdatedAtSelect the field with --order-by:
e2engine get tests --order-by nameSelect ascending or descending order with --order-direction:
e2engine get tests \ --order-by updatedAt \ --order-direction descStructured output
Section titled “Structured output”Use JSON or YAML when the list is consumed programmatically:
e2engine get tests -o jsone2engine get tests -o yamlWithout table headers
Section titled “Without table headers”For table output, use --no-headers to omit column headings:
e2engine get tests --no-headersRun a Test
Section titled “Run a Test”Run a Test against an Environment:
e2engine run test <test-ref> <env-ref>The Test reference comes first, followed by the Environment reference.
For example:
e2engine run test successful-payment payment-demoThe command creates a TestExecution and prints its ID:
created test execution with id: <test-execution-id>Use the TestExecution ID to inspect the execution and its current status.
Direct and socket execution
Section titled “Direct and socket execution”How the execution proceeds depends on the configured transport.
With transport.kind: direct, execution is synchronous. The run command waits for the Test to finish before returning.
With transport.kind: socket, execution is asynchronous. The command creates the TestExecution and returns its ID while execution continues through the configured runner. The TestExecution status is updated as execution progresses.
In socket mode, retrieve the TestExecution to inspect its current state:
e2engine get testexecution <test-execution-id>An execution progresses through the execution lifecycle described in Executions.
Quiet output
Section titled “Quiet output”Use --quiet or -q to print only the TestExecution ID:
e2engine run test successful-payment payment-demo --quietThis is useful when a script needs to capture the execution ID for subsequent commands.
--verbose produces the same output as the default mode for run commands.
Delete a Test
Section titled “Delete a Test”Delete a Test using its name or an ID prefix:
e2engine delete test <ref>For example:
e2engine delete test successful-paymentOn success, the command confirms the deleted resource:
deleted test, name: successful-payment id: <test-id> version: 1.0.0Use --quiet to suppress the confirmation:
e2engine delete test successful-payment --quietAliases
Section titled “Aliases”Singular Test commands accept t as a shorter alias:
e2engine validate t test.yamle2engine create t test.yamle2engine get t successful-paymente2engine run t successful-payment payment-demoe2engine delete t successful-paymentThe plural get tests command does not define a shorter alias:
e2engine get testsThe full test and tests forms are used throughout this documentation for clarity.
Output formats
Section titled “Output formats”Test commands use the global CLI output options:
-o, --output string Output format (available: table, json, yaml) --no-headers Omit headers in table output-q, --quiet Suppress non-error output-v, --verbose Enable verbose outputTable output is intended for interactive use, while JSON and YAML expose structured E2Engine data for inspection and automation.
See CLI for an overview of CLI conventions, Tests for the Test specification, and Inspecting results for interpreting TestExecution results.

