package config import ( "os" "path/filepath" "reflect" "testing" ) func TestDefaultAllowedOrigins(t *testing.T) { if got := Default().Server.AllowedOrigins; len(got) != 0 { t.Fatalf("默认白名单应为空: %v", got) } } func TestLoadAllowedOrigins(t *testing.T) { path := filepath.Join(t.TempDir(), "config.yaml") raw := "server:\n allowedOrigins:\n - http://a.example\n - https://b.example\n" if err := os.WriteFile(path, []byte(raw), 0o644); err != nil { t.Fatalf("写入配置: %v", err) } cfg, err := Load(path) if err != nil { t.Fatalf("加载配置: %v", err) } want := []string{"http://a.example", "https://b.example"} if !reflect.DeepEqual(cfg.Server.AllowedOrigins, want) { t.Fatalf("白名单解析错误: got %v want %v", cfg.Server.AllowedOrigins, want) } }