github.com/m3shine/gochain@v2.2.26+incompatible/netstats/netstats_test.go (about) 1 package netstats 2 3 import "testing" 4 5 func TestParseConfig(t *testing.T) { 6 for _, test := range []parseConfigTest{ 7 { 8 flag: "name:secret@host:port", 9 exp: Config{ 10 Name: "name", 11 Secret: "secret", 12 URL: "host:port", 13 }, 14 }, 15 { 16 flag: "Pretty Name:secret@host:port", 17 exp: Config{ 18 Name: "Pretty Name", 19 Secret: "secret", 20 URL: "host:port", 21 }, 22 }, 23 { 24 flag: ":secret@host:port", 25 exp: Config{ 26 Secret: "secret", 27 URL: "host:port", 28 }, 29 }, 30 { 31 flag: "@host:port", 32 exp: Config{ 33 URL: "host:port", 34 }, 35 }, 36 } { 37 t.Run(test.flag, test.run) 38 } 39 } 40 41 type parseConfigTest struct { 42 flag string 43 exp Config 44 } 45 46 func (test *parseConfigTest) run(t *testing.T) { 47 got, err := ParseConfig(test.flag) 48 if err != nil { 49 t.Error(err) 50 } else if got != test.exp { 51 t.Errorf("expected %#v but got %#v", test.exp, got) 52 } 53 }