refactor(netx): use netxlite for AddressResolver (#500)

Part of https://github.com/ooni/probe/issues/1591.
This commit is contained in:
Simone Basso
2021-09-09 20:21:43 +02:00
committed by GitHub
parent 254a5511e9
commit 5ab3c3b689
5 changed files with 48 additions and 66 deletions
+2 -15
View File
@@ -1,22 +1,9 @@
package resolver
import (
"context"
"net"
"github.com/ooni/probe-cli/v3/internal/netxlite"
)
// AddressResolver is a resolver that knows how to correctly
// resolve IP addresses to themselves.
type AddressResolver struct {
Resolver
}
// LookupHost implements Resolver.LookupHost
func (r AddressResolver) LookupHost(ctx context.Context, hostname string) ([]string, error) {
if net.ParseIP(hostname) != nil {
return []string{hostname}, nil
}
return r.Resolver.LookupHost(ctx, hostname)
}
var _ Resolver = AddressResolver{}
type AddressResolver = netxlite.AddressResolver
@@ -1,36 +0,0 @@
package resolver_test
import (
"context"
"errors"
"testing"
"github.com/ooni/probe-cli/v3/internal/engine/netx/resolver"
)
func TestAddressSuccess(t *testing.T) {
r := resolver.AddressResolver{}
addrs, err := r.LookupHost(context.Background(), "8.8.8.8")
if err != nil {
t.Fatal(err)
}
if len(addrs) != 1 || addrs[0] != "8.8.8.8" {
t.Fatal("not the result we expected")
}
}
func TestAddressFailure(t *testing.T) {
expected := errors.New("mocked error")
r := resolver.AddressResolver{
Resolver: resolver.FakeResolver{
Err: expected,
},
}
addrs, err := r.LookupHost(context.Background(), "dns.google.com")
if !errors.Is(err, expected) {
t.Fatal("not the error we expected")
}
if addrs != nil {
t.Fatal("expected nil addrs")
}
}