|
|
|
@ -457,3 +457,98 @@ func TestCmdLineOverridesFile(t *testing.T) { |
|
|
|
|
|
|
|
|
|
node.Shutdown() |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func TestValidateConfig(t *testing.T) { |
|
|
|
|
for _, c := range []struct { |
|
|
|
|
cfg *api.Config |
|
|
|
|
err string |
|
|
|
|
}{ |
|
|
|
|
{ |
|
|
|
|
cfg: &api.Config{EnsAPIs: []string{ |
|
|
|
|
"/data/testnet/geth.ipc", |
|
|
|
|
}}, |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
cfg: &api.Config{EnsAPIs: []string{ |
|
|
|
|
"http://127.0.0.1:1234", |
|
|
|
|
}}, |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
cfg: &api.Config{EnsAPIs: []string{ |
|
|
|
|
"ws://127.0.0.1:1234", |
|
|
|
|
}}, |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
cfg: &api.Config{EnsAPIs: []string{ |
|
|
|
|
"test:/data/testnet/geth.ipc", |
|
|
|
|
}}, |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
cfg: &api.Config{EnsAPIs: []string{ |
|
|
|
|
"test:ws://127.0.0.1:1234", |
|
|
|
|
}}, |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
cfg: &api.Config{EnsAPIs: []string{ |
|
|
|
|
"314159265dD8dbb310642f98f50C066173C1259b@/data/testnet/geth.ipc", |
|
|
|
|
}}, |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
cfg: &api.Config{EnsAPIs: []string{ |
|
|
|
|
"314159265dD8dbb310642f98f50C066173C1259b@http://127.0.0.1:1234", |
|
|
|
|
}}, |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
cfg: &api.Config{EnsAPIs: []string{ |
|
|
|
|
"314159265dD8dbb310642f98f50C066173C1259b@ws://127.0.0.1:1234", |
|
|
|
|
}}, |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
cfg: &api.Config{EnsAPIs: []string{ |
|
|
|
|
"test:314159265dD8dbb310642f98f50C066173C1259b@/data/testnet/geth.ipc", |
|
|
|
|
}}, |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
cfg: &api.Config{EnsAPIs: []string{ |
|
|
|
|
"eth:314159265dD8dbb310642f98f50C066173C1259b@http://127.0.0.1:1234", |
|
|
|
|
}}, |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
cfg: &api.Config{EnsAPIs: []string{ |
|
|
|
|
"eth:314159265dD8dbb310642f98f50C066173C1259b@ws://127.0.0.1:12344", |
|
|
|
|
}}, |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
cfg: &api.Config{EnsAPIs: []string{ |
|
|
|
|
"eth:", |
|
|
|
|
}}, |
|
|
|
|
err: "invalid format [tld:][contract-addr@]url for ENS API endpoint configuration \"eth:\": missing url", |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
cfg: &api.Config{EnsAPIs: []string{ |
|
|
|
|
"314159265dD8dbb310642f98f50C066173C1259b@", |
|
|
|
|
}}, |
|
|
|
|
err: "invalid format [tld:][contract-addr@]url for ENS API endpoint configuration \"314159265dD8dbb310642f98f50C066173C1259b@\": missing url", |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
cfg: &api.Config{EnsAPIs: []string{ |
|
|
|
|
":314159265dD8dbb310642f98f50C066173C1259", |
|
|
|
|
}}, |
|
|
|
|
err: "invalid format [tld:][contract-addr@]url for ENS API endpoint configuration \":314159265dD8dbb310642f98f50C066173C1259\": missing tld", |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
cfg: &api.Config{EnsAPIs: []string{ |
|
|
|
|
"@/data/testnet/geth.ipc", |
|
|
|
|
}}, |
|
|
|
|
err: "invalid format [tld:][contract-addr@]url for ENS API endpoint configuration \"@/data/testnet/geth.ipc\": missing contract address", |
|
|
|
|
}, |
|
|
|
|
} { |
|
|
|
|
err := validateConfig(c.cfg) |
|
|
|
|
if c.err != "" && err.Error() != c.err { |
|
|
|
|
t.Errorf("expected error %q, got %q", c.err, err) |
|
|
|
|
} |
|
|
|
|
if c.err == "" && err != nil { |
|
|
|
|
t.Errorf("unexpected error %q", err) |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|