package config import ( "os" "path/filepath" "testing" ) func TestLoadExample(t *testing.T) { dir := t.TempDir() p := filepath.Join(dir, "cfg.yaml") if err := os.WriteFile(p, []byte(` listen: ":0" allow_all: true servers: - alias: main_srv base_url: http://127.0.0.1:9091 `), 0644); err != nil { t.Fatal(err) } c, err := Load(p) if err != nil { t.Fatal(err) } if c.Listen != ":0" { t.Fatalf("listen: %q", c.Listen) } _, err = c.Parse() if err != nil { t.Fatal(err) } } func TestValidateDuplicateAlias(t *testing.T) { c := &Config{ Servers: []Server{ {Alias: "a", BaseURL: "http://x:1"}, {Alias: "a", BaseURL: "http://y:2"}, }, } if err := c.Validate(); err == nil { t.Fatal("expected error") } }