feat: teai role
This commit is contained in:
@@ -224,6 +224,71 @@ func TestWiringWhoamiOrgs(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
// TestWiringRoleWorker 驗證 Agents 成員的 role 輸出 worker。
|
||||
func TestWiringRoleWorker(t *testing.T) {
|
||||
newStubEnv(t, newStubData())
|
||||
stdout, _, code := run("role")
|
||||
if code != 0 {
|
||||
t.Fatalf("role 應回 0,得到 %d(stdout=%q)", code, stdout)
|
||||
}
|
||||
if strings.TrimSpace(stdout) != `{"role":"worker"}` {
|
||||
t.Fatalf("Agents 成員 role 應輸出 worker,得到 %q", stdout)
|
||||
}
|
||||
}
|
||||
|
||||
// TestWiringRoleSupervisor 驗證 Supervisor 成員的 role 輸出 supervisor。
|
||||
func TestWiringRoleSupervisor(t *testing.T) {
|
||||
c := newStubData()
|
||||
c.teams["alterminal"] = []workflow.Team{
|
||||
{ID: 1, Name: "Agents"},
|
||||
{ID: 2, Name: "Supervisor"},
|
||||
}
|
||||
c.members[2] = []string{"alex"}
|
||||
newStubEnv(t, c)
|
||||
stdout, _, code := run("role")
|
||||
if code != 0 {
|
||||
t.Fatalf("role 應回 0,得到 %d(stdout=%q)", code, stdout)
|
||||
}
|
||||
if strings.TrimSpace(stdout) != `{"role":"supervisor"}` {
|
||||
t.Fatalf("Supervisor 成員 role 應輸出 supervisor,得到 %q", stdout)
|
||||
}
|
||||
}
|
||||
|
||||
// TestWiringRoleNone 驗證不在任一角色團隊時輸出 null、exit 0。
|
||||
func TestWiringRoleNone(t *testing.T) {
|
||||
c := newStubData()
|
||||
c.currentUser = "outsider"
|
||||
newStubEnv(t, c)
|
||||
stdout, _, code := run("role")
|
||||
if code != 0 {
|
||||
t.Fatalf("role 無角色應回 0,得到 %d", code)
|
||||
}
|
||||
if strings.TrimSpace(stdout) != "null" {
|
||||
t.Fatalf("role 無角色應輸出 null,得到 %q", stdout)
|
||||
}
|
||||
}
|
||||
|
||||
// TestWiringRoleRejectsArgs 驗證 role 不接受參數。
|
||||
func TestWiringRoleRejectsArgs(t *testing.T) {
|
||||
newStubEnv(t, newStubData())
|
||||
_, _, code := run("role", "extra")
|
||||
if code != int(ExitUsage) {
|
||||
t.Fatalf("role extra 應回 ExitUsage(%d),得到 %d", int(ExitUsage), code)
|
||||
}
|
||||
}
|
||||
|
||||
// TestWiringRoleTable 驗證 teai role --output table。
|
||||
func TestWiringRoleTable(t *testing.T) {
|
||||
newStubEnv(t, newStubData())
|
||||
stdout, _, code := run("role", "--output", "table")
|
||||
if code != 0 {
|
||||
t.Fatalf("role --output table 應回 0,得到 %d", code)
|
||||
}
|
||||
if !strings.Contains(stdout, "worker") {
|
||||
t.Fatalf("role --output table 應含 worker,得到 %q", stdout)
|
||||
}
|
||||
}
|
||||
|
||||
// TestWiringVersionRejectsArgs 驗證 version 不接受參數(新剖析語義下仍 exit 2)。
|
||||
func TestWiringVersionRejectsArgs(t *testing.T) {
|
||||
_, _, code := run("version", "--wat")
|
||||
|
||||
Reference in New Issue
Block a user