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  }