7 "github.com/davecgh/go-spew/spew"
8 "github.com/vapor/consensus"
11 var testnetAddr = []string{"1.2.3.4", "5.6.7.8"}
12 var mainnetAddr = []string{"11.22.33.44", "55.66.77.88"}
13 var errAddr = []string{"a.b.ab.abc", "55.66.77.88"}
15 func lookupHostNormal(host string) ([]string, error) {
17 case consensus.MainNetParams.DNSSeeds[0]:
18 return mainnetAddr, nil
19 case consensus.TestNetParams.DNSSeeds[0]:
20 return testnetAddr, nil
25 func lookupHostErrIP(host string) ([]string, error) {
29 var testCases = []struct {
31 lookupHost func(host string) (addrs []string, err error)
37 lookupHost: lookupHostNormal,
39 wantAddr: []string{"1.2.3.4:46656", "5.6.7.8:46656"},
43 lookupHost: lookupHostNormal,
45 wantAddr: []string{"11.22.33.44:46657", "55.66.77.88:46657"},
49 lookupHost: lookupHostNormal,
50 wantErr: errDNSSeedsEmpty,
55 lookupHost: lookupHostErrIP,
56 wantErr: errDNSTimeout,
61 func TestQueryDNSSeeds(t *testing.T) {
62 for i, tc := range testCases {
63 consensus.ActiveNetParams = consensus.NetParams[tc.chainID]
64 addresses, err := QueryDNSSeeds(tc.lookupHost)
65 if err != tc.wantErr {
66 t.Fatalf("test %d: error mismatch for query dns seed got %q want %q", i, err, tc.wantErr)
69 if !reflect.DeepEqual(addresses, tc.wantAddr) {
70 t.Fatalf("test %d: result mismatch for query dns seed got %s want %s", i, spew.Sdump(addresses), spew.Sdump(tc.wantAddr))