Files
wehub-resource-sync bf9395e022
CI / license-header (push) Has been skipped
CI / e2e-dry-run (push) Has been skipped
CI / fast-gate (push) Failing after 0s
Test PR Label Logic / test-pr-labels (push) Failing after 1s
Skill Format Check / check-format (push) Failing after 2s
CI / security (push) Failing after 5s
CI / unit-test (push) Has been skipped
CI / lint (push) Has been skipped
CI / script-test (push) Has been skipped
CI / deterministic-gate (push) Has been skipped
CI / coverage (push) Has been skipped
CI / results (push) Has been cancelled
CI / deadcode (push) Has been cancelled
CI / e2e-live (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 12:22:54 +08:00

65 lines
1.5 KiB
Go

// Copyright (c) 2026 Lark Technologies Pte. Ltd.
// SPDX-License-Identifier: MIT
package consume
import (
"reflect"
"testing"
)
// Fork argv ("event", "_bus", "--profile", appID) is a contract with internal/event/busdiscover orphan detector.
func TestBuildForkArgs(t *testing.T) {
cases := []struct {
name string
profile string
domain string
want []string
}{
{
name: "no domain (lark default)",
profile: "cli_XXXXXXXXXXXXXXXX",
domain: "",
want: []string{"event", "_bus", "--profile", "cli_XXXXXXXXXXXXXXXX"},
},
{
name: "custom domain appended",
profile: "cli_x",
domain: "https://open.feishu.cn",
want: []string{
"event", "_bus",
"--profile", "cli_x",
"--domain", "https://open.feishu.cn",
},
},
{
name: "empty profile still keeps flag skeleton",
profile: "",
domain: "",
want: []string{"event", "_bus", "--profile", ""},
},
}
for _, tc := range cases {
t.Run(tc.name, func(t *testing.T) {
got := buildForkArgs(tc.profile, tc.domain)
if !reflect.DeepEqual(got, tc.want) {
t.Errorf("buildForkArgs(%q, %q) = %v, want %v", tc.profile, tc.domain, got, tc.want)
}
})
}
}
func TestBuildForkArgs_SubcommandStable(t *testing.T) {
got := buildForkArgs("cli_x", "")
if len(got) < 2 || got[0] != "event" || got[1] != "_bus" {
t.Fatalf("argv[0:2] = %v, want [event _bus]", got[:min(2, len(got))])
}
}
func min(a, b int) int {
if a < b {
return a
}
return b
}