Files
tracer-cloud--opensre/tests/cli/test_command_help_sync.py
T
wehub-resource-sync 4b6817381b
CI (OpenClaw E2E) / openclaw test (push) Has been cancelled
CI / coverage-report (push) Has been cancelled
CI / test-kubernetes (push) Has been cancelled
CI / should-run-thorough (push) Has been cancelled
CI / test-thorough (cloudwatch-demo) (push) Has been cancelled
CI / test-thorough (flink-ecs) (push) Has been cancelled
CI / test-thorough (upstream-lambda) (push) Has been cancelled
CI / test-thorough (prefect-ecs-fargate) (push) Has been cancelled
Release / build-binaries (zip, opensre.exe, onefile, windows-latest, windows-x64) (push) Has been cancelled
Benchmark image — build + push to ECR (any adapter) / build + push (push) Has been cancelled
CI / quality (ubuntu-latest) (push) Has been cancelled
CI / test (tools-runtime) (push) Has been cancelled
CI / test (e2e-general) (push) Has been cancelled
CI / test (cli-runtime) (push) Has been cancelled
CI / test (e2e-provider-and-openclaw) (push) Has been cancelled
CI / test (integrations-and-misc) (push) Has been cancelled
Release / verify (push) Has been cancelled
Release / build-python-dist (push) Has been cancelled
Release / build-binaries (tar.gz, opensre, onedir, macos-15-intel, darwin-x64) (push) Has been cancelled
Release / build-binaries (tar.gz, opensre, onedir, macos-latest, darwin-arm64) (push) Has been cancelled
Release / build-binaries (tar.gz, opensre, onedir, ubuntu-22.04, linux-x64) (push) Has been cancelled
Release / publish-release (push) Has been cancelled
Release / publish-main-release (push) Has been cancelled
Interactive Shell Live (PR + post-merge) / turn-checks (no-LLM) (push) Has been cancelled
CodeQL / Analyze (python) (push) Has been cancelled
Interactive Shell Live (PR + post-merge) / turn-live shard ${{ matrix.shard_index }} (push) Has been cancelled
Release / prepare (push) Has been cancelled
Release / build-binaries (tar.gz, opensre, onedir, ubuntu-22.04-arm, linux-arm64) (push) Has been cancelled
Synthetic Deterministic Tests / Synthetic offline (deterministic) (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 13:10:45 +08:00

34 lines
1.3 KiB
Python

"""Regression test: CLI command registration must stay in sync with help copy.
The root help view derives its command list from the live Click group at runtime.
This test ensures that every command registered in `_COMMANDS` is represented in
that derived help command list (and vice versa).
"""
from __future__ import annotations
from surfaces.cli.__main__ import cli
from surfaces.cli.commands import _COMMANDS
from surfaces.interactive_shell.ui.layout import _commands_from_group
def test_registered_commands_match_help_table() -> None:
registered = {cmd.name for cmd in _COMMANDS}
assert None not in registered, (
"A command in _COMMANDS has no name set. "
"Ensure every click.Command is decorated with an explicit name."
)
documented = {name for name, _ in _commands_from_group(cli)}
missing_from_help = registered - documented
missing_from_registry = documented - registered
assert not missing_from_help, (
f"Commands registered in _COMMANDS but missing from the rendered help list: {missing_from_help}. "
"Ensure the root CLI group is registering all commands."
)
assert not missing_from_registry, (
f"Commands shown in the rendered help list but not registered in _COMMANDS: {missing_from_registry}. "
"Add the command to _COMMANDS in surfaces/cli/commands/__init__.py."
)