Files
zzet--gortex/cmd/gortex/root_groups_test.go
T
wehub-resource-sync a06f331eb8
CI / benchmark (push) Has been skipped
install-script / posix-syntax (push) Successful in 6m1s
CI / build-onnx (push) Failing after 6m43s
init-smoke / dry-run (push) Failing after 15m57s
security / govulncheck (push) Has been cancelled
security / trivy-fs (push) Has been cancelled
CI / test (1.26, ubuntu-latest) (push) Has been cancelled
Scorecard supply-chain security / Scorecard analysis (push) Has been cancelled
CI / test (1.26, macos-latest) (push) Has been cancelled
CI / build-windows (push) Has been cancelled
CI / lint (push) Has been cancelled
install-script / powershell-syntax (push) Has been cancelled
install-script / install (macos-14) (push) Has been cancelled
install-script / install (ubuntu-latest) (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 12:33:42 +08:00

51 lines
1.6 KiB
Go

package main
import "testing"
// TestHelpCommandGroups asserts `gortex --help` is organized into intent
// groups (not a flat command list): the groups are registered, key
// commands carry the right group, and no command references an
// unregistered group (which cobra would panic on at help time).
func TestHelpCommandGroups(t *testing.T) {
assignCommandGroups()
registered := map[string]bool{}
for _, g := range rootCmd.Groups() {
registered[g.ID] = true
}
for _, id := range []string{"serve", "engine", "query", "edit", "memory", "index", "setup"} {
if !registered[id] {
t.Errorf("intent group %q is not registered", id)
}
}
// Representative commands land in the expected group.
want := map[string]string{
"mcp": "serve", "daemon": "engine", "track": "engine",
"query": "query", "audit": "query", "edit": "edit", "memory": "memory", "enrich": "index", "config": "setup",
}
got := map[string]string{}
for _, c := range rootCmd.Commands() {
got[c.Name()] = c.GroupID
}
for name, wantID := range want {
if got[name] != wantID {
t.Errorf("command %q group = %q, want %q", name, got[name], wantID)
}
}
// Every assigned GroupID must reference a registered group.
for _, c := range rootCmd.Commands() {
if c.GroupID != "" && !registered[c.GroupID] {
t.Errorf("command %q has unregistered group %q", c.Name(), c.GroupID)
}
}
// Idempotent: a second call must not duplicate groups.
before := len(rootCmd.Groups())
assignCommandGroups()
if after := len(rootCmd.Groups()); after != before {
t.Errorf("assignCommandGroups not idempotent: groups %d -> %d", before, after)
}
}