MCPcopy Create free account
hub / github.com/github/gh-aw / TestGetEngineSubAgentDir

Function TestGetEngineSubAgentDir

pkg/workflow/engine_config_dir_test.go:49–80  ·  view source on GitHub ↗

TestGetEngineSubAgentDir validates that GetEngineSubAgentDir returns the correct directory for each engine by delegating to the engine's AgentManifestPathPrefixes.

(t *testing.T)

Source from the content-addressed store, hash-verified

47// TestGetEngineSubAgentDir validates that GetEngineSubAgentDir returns the correct
48// directory for each engine by delegating to the engine's AgentManifestPathPrefixes.
49func TestGetEngineSubAgentDir(t *testing.T) {
50 tests := []struct {
51 name string
52 engineID string
53 expected string
54 registered bool // whether the engine must be in the global registry
55 }{
56 {name: "claude engine uses .claude/agents", engineID: "claude", expected: ".claude/agents", registered: true},
57 {name: "codex engine uses .codex/agents", engineID: "codex", expected: ".codex/agents", registered: true},
58 {name: "gemini engine uses .gemini/agents", engineID: "gemini", expected: ".gemini/agents", registered: true},
59 {name: "crush engine uses .crush/agents", engineID: "crush", expected: ".crush/agents", registered: true},
60 {name: "opencode engine uses .opencode/agents", engineID: "opencode", expected: ".opencode/agents", registered: true},
61 {name: "antigravity engine uses .antigravity/agents", engineID: "antigravity", expected: ".antigravity/agents", registered: true},
62 {name: "pi engine uses .pi/agents", engineID: "pi", expected: ".pi/agents", registered: true},
63 {name: "copilot engine uses .github/agents", engineID: "copilot", expected: ".github/agents", registered: true},
64 {name: "unknown engine falls back to .github/agents", engineID: "unknown", expected: ".github/agents", registered: false},
65 {name: "empty engine ID falls back to .github/agents", engineID: "", expected: ".github/agents", registered: false},
66 }
67
68 registry := GetGlobalEngineRegistry()
69 for _, tt := range tests {
70 t.Run(tt.name, func(t *testing.T) {
71 if tt.registered {
72 require.True(t, registry.IsValidEngine(tt.engineID),
73 "engine %q must be registered in the global registry", tt.engineID)
74 }
75 result := GetEngineSubAgentDir(tt.engineID)
76 assert.Equal(t, tt.expected, result,
77 "GetEngineSubAgentDir(%q) should return correct sub-agent directory", tt.engineID)
78 })
79 }
80}

Callers

nothing calls this directly

Calls 4

GetGlobalEngineRegistryFunction · 0.85
GetEngineSubAgentDirFunction · 0.85
IsValidEngineMethod · 0.80
RunMethod · 0.45

Tested by

no test coverage detected