adjust dir structures
Some checks failed
docker-release / build-and-push (push) Failing after 9m59s

This commit is contained in:
2025-11-14 15:02:33 +08:00
parent 960cf59a1d
commit 83bb6623e8
10 changed files with 344 additions and 9 deletions

54
main_test.go Normal file
View File

@@ -0,0 +1,54 @@
package main
import (
"bytes"
"strings"
"testing"
)
func TestParseCLIFlagsPriority(t *testing.T) {
t.Setenv("ANY_HUB_CONFIG", "/tmp/env.toml")
opts, err := parseCLIFlags([]string{})
if err != nil {
t.Fatalf("解析失败: %v", err)
}
if opts.configPath != "/tmp/env.toml" {
t.Fatalf("应优先使用环境变量,得到 %s", opts.configPath)
}
opts, err = parseCLIFlags([]string{"--config", "/tmp/flag.toml"})
if err != nil {
t.Fatalf("解析失败: %v", err)
}
if opts.configPath != "/tmp/flag.toml" {
t.Fatalf("flag 应高于环境变量,得到 %s", opts.configPath)
}
}
func TestRunCheckConfigSuccess(t *testing.T) {
useBufferWriters(t)
code := run(cliOptions{configPath: configFixture(t, "valid.toml"), checkOnly: true})
if code != 0 {
t.Fatalf("期望退出码 0得到 %d", code)
}
}
func TestRunCheckConfigFailure(t *testing.T) {
useBufferWriters(t)
code := run(cliOptions{configPath: configFixture(t, "missing.toml"), checkOnly: true})
if code == 0 {
t.Fatalf("无效配置应返回非零退出码")
}
}
func TestRunVersionOutput(t *testing.T) {
useBufferWriters(t)
code := run(cliOptions{showVersion: true})
if code != 0 {
t.Fatalf("version 模式应成功退出,得到 %d", code)
}
if !strings.Contains(stdOut.(*bytes.Buffer).String(), "any-hub") {
t.Fatalf("version 输出应包含 any-hub 标识")
}
}