diff --git a/internal/engine/experiment_test.go b/internal/engine/experiment_test.go index 84298039fb..8e3e5a9214 100644 --- a/internal/engine/experiment_test.go +++ b/internal/engine/experiment_test.go @@ -3,12 +3,11 @@ package engine import ( "testing" - "github.com/ooni/probe-cli/v3/internal/geolocate" "github.com/ooni/probe-cli/v3/internal/model" ) func TestExperimentHonoursSharingDefaults(t *testing.T) { - measure := func(info *geolocate.Results) *model.Measurement { + measure := func(info *GeolocateResults) *model.Measurement { sess := &Session{location: info} builder, err := sess.NewExperimentBuilder("example") if err != nil { @@ -19,48 +18,48 @@ func TestExperimentHonoursSharingDefaults(t *testing.T) { } type spec struct { name string - locationInfo *geolocate.Results + locationInfo *GeolocateResults expect func(*model.Measurement) bool } allspecs := []spec{{ name: "probeIP", - locationInfo: &geolocate.Results{ProbeIP: "8.8.8.8"}, + locationInfo: &GeolocateResults{ProbeIP: "8.8.8.8"}, expect: func(m *model.Measurement) bool { return m.ProbeIP == model.DefaultProbeIP }, }, { name: "probeASN", - locationInfo: &geolocate.Results{ASN: 30722}, + locationInfo: &GeolocateResults{ASN: 30722}, expect: func(m *model.Measurement) bool { return m.ProbeASN == "AS30722" }, }, { name: "probeCC", - locationInfo: &geolocate.Results{CountryCode: "IT"}, + locationInfo: &GeolocateResults{CountryCode: "IT"}, expect: func(m *model.Measurement) bool { return m.ProbeCC == "IT" }, }, { name: "probeNetworkName", - locationInfo: &geolocate.Results{NetworkName: "Vodafone Italia"}, + locationInfo: &GeolocateResults{NetworkName: "Vodafone Italia"}, expect: func(m *model.Measurement) bool { return m.ProbeNetworkName == "Vodafone Italia" }, }, { name: "resolverIP", - locationInfo: &geolocate.Results{ResolverIP: "9.9.9.9"}, + locationInfo: &GeolocateResults{ResolverIP: "9.9.9.9"}, expect: func(m *model.Measurement) bool { return m.ResolverIP == "9.9.9.9" }, }, { name: "resolverASN", - locationInfo: &geolocate.Results{ResolverASN: 44}, + locationInfo: &GeolocateResults{ResolverASN: 44}, expect: func(m *model.Measurement) bool { return m.ResolverASN == "AS44" }, }, { name: "resolverNetworkName", - locationInfo: &geolocate.Results{ResolverNetworkName: "Google LLC"}, + locationInfo: &GeolocateResults{ResolverNetworkName: "Google LLC"}, expect: func(m *model.Measurement) bool { return m.ResolverNetworkName == "Google LLC" }, diff --git a/internal/geolocate/geolocate.go b/internal/engine/geolocate.go similarity index 82% rename from internal/geolocate/geolocate.go rename to internal/engine/geolocate.go index a9c6f5f23d..db5985e6fd 100644 --- a/internal/geolocate/geolocate.go +++ b/internal/engine/geolocate.go @@ -1,17 +1,18 @@ -// Package geolocate implements IP lookup, resolver lookup, and geolocation. -package geolocate +package engine import ( "context" "fmt" + "github.com/ooni/probe-cli/v3/internal/iplookup" "github.com/ooni/probe-cli/v3/internal/model" "github.com/ooni/probe-cli/v3/internal/netxlite" + "github.com/ooni/probe-cli/v3/internal/resolverlookup" "github.com/ooni/probe-cli/v3/internal/version" ) // Results contains geolocate results. -type Results struct { +type GeolocateResults struct { // ASN is the autonomous system number. ASN uint @@ -38,7 +39,7 @@ type Results struct { } // ASNString returns the ASN as a string. -func (r *Results) ASNString() string { +func (r *GeolocateResults) ASNString() string { return fmt.Sprintf("AS%d", r.ASN) } @@ -59,7 +60,7 @@ type resolverIPLookupper interface { } // Config contains configuration for a geolocate Task. -type Config struct { +type GeolocateConfig struct { // Resolver is the resolver we should use when // making requests for discovering the IP. When // this field is not set, we use the stdlib. @@ -74,8 +75,8 @@ type Config struct { UserAgent string } -// NewTask creates a new instance of Task from config. -func NewTask(config Config) *Task { +// NewIplookupTask creates a new instance of IpLookupTask from config. +func NewGeolocateTask(config GeolocateConfig) *GeolocateTask { if config.Logger == nil { config.Logger = model.DiscardLogger } @@ -85,20 +86,18 @@ func NewTask(config Config) *Task { if config.Resolver == nil { config.Resolver = netxlite.NewStdlibResolver(config.Logger) } - return &Task{ - countryLookupper: mmdbLookupper{}, - probeIPLookupper: ipLookupClient(config), - probeASNLookupper: mmdbLookupper{}, - resolverASNLookupper: mmdbLookupper{}, - resolverIPLookupper: resolverLookupClient{ - Logger: config.Logger, - }, + return &GeolocateTask{ + countryLookupper: iplookup.MMDBLookupper{}, + probeIPLookupper: iplookup.IpLookupClient(config), + probeASNLookupper: iplookup.MMDBLookupper{}, + resolverASNLookupper: iplookup.MMDBLookupper{}, + resolverIPLookupper: resolverlookup.NewResolverLookupClient(config.Logger), } } // Task performs a geolocation. You must create a new // instance of Task using the NewTask factory. -type Task struct { +type GeolocateTask struct { countryLookupper countryLookupper probeIPLookupper probeIPLookupper probeASNLookupper asnLookupper @@ -107,9 +106,9 @@ type Task struct { } // Run runs the task. -func (op Task) Run(ctx context.Context) (*Results, error) { +func (op *GeolocateTask) Run(ctx context.Context) (*GeolocateResults, error) { var err error - out := &Results{ + out := &GeolocateResults{ ASN: model.DefaultProbeASN, CountryCode: model.DefaultProbeCC, NetworkName: model.DefaultProbeNetworkName, diff --git a/internal/geolocate/geolocate_test.go b/internal/engine/geolocate_test.go similarity index 96% rename from internal/geolocate/geolocate_test.go rename to internal/engine/geolocate_test.go index 9d10917531..e0a9e418f8 100644 --- a/internal/geolocate/geolocate_test.go +++ b/internal/engine/geolocate_test.go @@ -1,4 +1,4 @@ -package geolocate +package engine import ( "context" @@ -19,7 +19,7 @@ func (c taskProbeIPLookupper) LookupProbeIP(ctx context.Context) (string, error) func TestLocationLookupCannotLookupProbeIP(t *testing.T) { expected := errors.New("mocked error") - op := Task{ + op := &GeolocateTask{ probeIPLookupper: taskProbeIPLookupper{err: expected}, } ctx := context.Background() @@ -62,7 +62,7 @@ func (c taskASNLookupper) LookupASN(ip string) (uint, string, error) { func TestLocationLookupCannotLookupProbeASN(t *testing.T) { expected := errors.New("mocked error") - op := Task{ + op := &GeolocateTask{ probeIPLookupper: taskProbeIPLookupper{ip: "1.2.3.4"}, probeASNLookupper: taskASNLookupper{err: expected}, } @@ -105,7 +105,7 @@ func (c taskCCLookupper) LookupCC(ip string) (string, error) { func TestLocationLookupCannotLookupProbeCC(t *testing.T) { expected := errors.New("mocked error") - op := Task{ + op := &GeolocateTask{ probeIPLookupper: taskProbeIPLookupper{ip: "1.2.3.4"}, probeASNLookupper: taskASNLookupper{asn: 1234, name: "1234.com"}, countryLookupper: taskCCLookupper{cc: "US", err: expected}, @@ -149,7 +149,7 @@ func (c taskResolverIPLookupper) LookupResolverIP(ctx context.Context) (string, func TestLocationLookupCannotLookupResolverIP(t *testing.T) { expected := errors.New("mocked error") - op := Task{ + op := &GeolocateTask{ probeIPLookupper: taskProbeIPLookupper{ip: "1.2.3.4"}, probeASNLookupper: taskASNLookupper{asn: 1234, name: "1234.com"}, countryLookupper: taskCCLookupper{cc: "IT"}, @@ -188,7 +188,7 @@ func TestLocationLookupCannotLookupResolverIP(t *testing.T) { func TestLocationLookupCannotLookupResolverNetworkName(t *testing.T) { expected := errors.New("mocked error") - op := Task{ + op := &GeolocateTask{ probeIPLookupper: taskProbeIPLookupper{ip: "1.2.3.4"}, probeASNLookupper: taskASNLookupper{asn: 1234, name: "1234.com"}, countryLookupper: taskCCLookupper{cc: "IT"}, @@ -227,7 +227,7 @@ func TestLocationLookupCannotLookupResolverNetworkName(t *testing.T) { } func TestLocationLookupSuccessWithResolverLookup(t *testing.T) { - op := Task{ + op := &GeolocateTask{ probeIPLookupper: taskProbeIPLookupper{ip: "1.2.3.4"}, probeASNLookupper: taskASNLookupper{asn: 1234, name: "1234.com"}, countryLookupper: taskCCLookupper{cc: "IT"}, @@ -266,8 +266,8 @@ func TestLocationLookupSuccessWithResolverLookup(t *testing.T) { } func TestSmoke(t *testing.T) { - config := Config{} - task := NewTask(config) + config := GeolocateConfig{} + task := NewGeolocateTask(config) result, err := task.Run(context.Background()) if err != nil { t.Fatal(err) @@ -280,7 +280,7 @@ func TestSmoke(t *testing.T) { } func TestASNStringWorks(t *testing.T) { - r := Results{ASN: 1234} + r := &GeolocateResults{ASN: 1234} if r.ASNString() != "AS1234" { t.Fatal("unexpected result") } diff --git a/internal/engine/session.go b/internal/engine/session.go index fb988b31b0..c1604c7b1a 100644 --- a/internal/engine/session.go +++ b/internal/engine/session.go @@ -13,7 +13,6 @@ import ( "github.com/ooni/probe-cli/v3/internal/bytecounter" "github.com/ooni/probe-cli/v3/internal/checkincache" - "github.com/ooni/probe-cli/v3/internal/geolocate" "github.com/ooni/probe-cli/v3/internal/kvstore" "github.com/ooni/probe-cli/v3/internal/model" "github.com/ooni/probe-cli/v3/internal/netxlite" @@ -60,7 +59,7 @@ type Session struct { byteCounter *bytecounter.Counter httpDefaultTransport model.HTTPTransport kvStore model.KeyValueStore - location *geolocate.Results + location *GeolocateResults logger model.Logger proxyURL *url.URL queryProbeServicesCount *atomic.Int64 @@ -79,7 +78,7 @@ type Session struct { // testLookupLocationContext is a an optional hook for testing // allowing us to mock LookupLocationContext. - testLookupLocationContext func(ctx context.Context) (*geolocate.Results, error) + testLookupLocationContext func(ctx context.Context) (*GeolocateResults, error) // testMaybeLookupBackendsContext is an optional hook for testing // allowing us to mock MaybeLookupBackendsContext. @@ -676,8 +675,8 @@ func (s *Session) MaybeLookupBackendsContext(ctx context.Context) error { // LookupLocationContext performs a location lookup. If you want memoisation // of the results, you should use MaybeLookupLocationContext. -func (s *Session) LookupLocationContext(ctx context.Context) (*geolocate.Results, error) { - task := geolocate.NewTask(geolocate.Config{ +func (s *Session) LookupLocationContext(ctx context.Context) (*GeolocateResults, error) { + task := NewGeolocateTask(GeolocateConfig{ Logger: s.Logger(), Resolver: s.resolver, UserAgent: s.UserAgent(), @@ -687,7 +686,7 @@ func (s *Session) LookupLocationContext(ctx context.Context) (*geolocate.Results // lookupLocationContext calls testLookupLocationContext if set and // otherwise calls LookupLocationContext. -func (s *Session) lookupLocationContext(ctx context.Context) (*geolocate.Results, error) { +func (s *Session) lookupLocationContext(ctx context.Context) (*GeolocateResults, error) { if s.testLookupLocationContext != nil { return s.testLookupLocationContext(ctx) } diff --git a/internal/engine/session_internal_test.go b/internal/engine/session_internal_test.go index 6361484f31..58055c869c 100644 --- a/internal/engine/session_internal_test.go +++ b/internal/engine/session_internal_test.go @@ -13,7 +13,6 @@ import ( "github.com/ooni/probe-cli/v3/internal/checkincache" "github.com/ooni/probe-cli/v3/internal/experiment/webconnectivity" "github.com/ooni/probe-cli/v3/internal/experiment/webconnectivitylte" - "github.com/ooni/probe-cli/v3/internal/geolocate" "github.com/ooni/probe-cli/v3/internal/kvstore" "github.com/ooni/probe-cli/v3/internal/model" "github.com/ooni/probe-cli/v3/internal/registry" @@ -85,7 +84,7 @@ func TestSessionCheckInSuccessful(t *testing.T) { }, } s := &Session{ - location: &geolocate.Results{ + location: &GeolocateResults{ ASN: 137, CountryCode: "IT", }, @@ -136,7 +135,7 @@ func TestSessionCheckInNetworkError(t *testing.T) { Error: expect, } s := &Session{ - location: &geolocate.Results{ + location: &GeolocateResults{ ASN: 137, CountryCode: "IT", }, @@ -178,7 +177,7 @@ func TestSessionCheckInCannotLookupLocation(t *testing.T) { func TestSessionCheckInCannotCreateProbeServicesClient(t *testing.T) { errMocked := errors.New("mocked error") s := &Session{ - location: &geolocate.Results{ + location: &GeolocateResults{ ASN: 137, CountryCode: "IT", }, @@ -240,7 +239,7 @@ func TestSessionNewSubmitterWithCancelledContext(t *testing.T) { func TestSessionMaybeLookupLocationContextLookupLocationContextFailure(t *testing.T) { errMocked := errors.New("mocked error") sess := newSessionForTestingNoLookups(t) - sess.testLookupLocationContext = func(ctx context.Context) (*geolocate.Results, error) { + sess.testLookupLocationContext = func(ctx context.Context) (*GeolocateResults, error) { return nil, errMocked } err := sess.MaybeLookupLocationContext(context.Background()) diff --git a/internal/geolocate/mmdblookup.go b/internal/geolocate/mmdblookup.go deleted file mode 100644 index 14e901f3fa..0000000000 --- a/internal/geolocate/mmdblookup.go +++ /dev/null @@ -1,15 +0,0 @@ -package geolocate - -import ( - "github.com/ooni/probe-cli/v3/internal/geoipx" -) - -type mmdbLookupper struct{} - -func (mmdbLookupper) LookupASN(ip string) (uint, string, error) { - return geoipx.LookupASN(ip) -} - -func (mmdbLookupper) LookupCC(ip string) (string, error) { - return geoipx.LookupCC(ip) -} diff --git a/internal/geolocate/cloudflare.go b/internal/iplookup/cloudflare.go similarity index 97% rename from internal/geolocate/cloudflare.go rename to internal/iplookup/cloudflare.go index 3de61a538b..132f351f80 100644 --- a/internal/geolocate/cloudflare.go +++ b/internal/iplookup/cloudflare.go @@ -1,4 +1,4 @@ -package geolocate +package iplookup import ( "context" diff --git a/internal/geolocate/cloudflare_test.go b/internal/iplookup/cloudflare_test.go similarity index 96% rename from internal/geolocate/cloudflare_test.go rename to internal/iplookup/cloudflare_test.go index 4f0b44da41..69bd06211e 100644 --- a/internal/geolocate/cloudflare_test.go +++ b/internal/iplookup/cloudflare_test.go @@ -1,4 +1,4 @@ -package geolocate +package iplookup import ( "context" diff --git a/internal/geolocate/fake_test.go b/internal/iplookup/fake_test.go similarity index 96% rename from internal/geolocate/fake_test.go rename to internal/iplookup/fake_test.go index 5dc683f70b..8f53d9e00b 100644 --- a/internal/geolocate/fake_test.go +++ b/internal/iplookup/fake_test.go @@ -1,4 +1,4 @@ -package geolocate +package iplookup import ( "net/http" diff --git a/internal/geolocate/invalid_test.go b/internal/iplookup/invalid_test.go similarity index 93% rename from internal/geolocate/invalid_test.go rename to internal/iplookup/invalid_test.go index bb62404328..61f113be4f 100644 --- a/internal/geolocate/invalid_test.go +++ b/internal/iplookup/invalid_test.go @@ -1,4 +1,4 @@ -package geolocate +package iplookup import ( "context" diff --git a/internal/geolocate/iplookup.go b/internal/iplookup/iplookup.go similarity index 94% rename from internal/geolocate/iplookup.go rename to internal/iplookup/iplookup.go index 3d9711f323..63effa34f2 100644 --- a/internal/geolocate/iplookup.go +++ b/internal/iplookup/iplookup.go @@ -1,4 +1,4 @@ -package geolocate +package iplookup import ( "context" @@ -56,7 +56,7 @@ var ( } ) -type ipLookupClient struct { +type IpLookupClient struct { // Resolver is the resolver to use for HTTP. Resolver model.Resolver @@ -77,7 +77,7 @@ func makeSlice() []method { return ret } -func (c ipLookupClient) doWithCustomFunc( +func (c IpLookupClient) doWithCustomFunc( ctx context.Context, fn lookupFunc, ) (string, error) { // Reliability fix: let these mechanisms timeout earlier. @@ -101,7 +101,7 @@ func (c ipLookupClient) doWithCustomFunc( return ip, nil } -func (c ipLookupClient) LookupProbeIP(ctx context.Context) (string, error) { +func (c IpLookupClient) LookupProbeIP(ctx context.Context) (string, error) { union := multierror.New(ErrAllIPLookuppersFailed) for _, method := range makeSlice() { c.Logger.Infof("iplookup: using %s", method.name) diff --git a/internal/geolocate/iplookup_test.go b/internal/iplookup/iplookup_test.go similarity index 92% rename from internal/geolocate/iplookup_test.go rename to internal/iplookup/iplookup_test.go index 2739a95305..4ca9f38e71 100644 --- a/internal/geolocate/iplookup_test.go +++ b/internal/iplookup/iplookup_test.go @@ -1,4 +1,4 @@ -package geolocate +package iplookup import ( "context" @@ -12,7 +12,7 @@ import ( ) func TestIPLookupGood(t *testing.T) { - ip, err := (ipLookupClient{ + ip, err := (IpLookupClient{ Logger: log.Log, Resolver: netxlite.NewStdlibResolver(model.DiscardLogger), UserAgent: "ooniprobe-engine/0.1.0", @@ -28,7 +28,7 @@ func TestIPLookupGood(t *testing.T) { func TestIPLookupAllFailed(t *testing.T) { ctx, cancel := context.WithCancel(context.Background()) cancel() // immediately cancel to cause Do() to fail - ip, err := (ipLookupClient{ + ip, err := (IpLookupClient{ Logger: log.Log, Resolver: netxlite.NewStdlibResolver(model.DiscardLogger), UserAgent: "ooniprobe-engine/0.1.0", @@ -43,7 +43,7 @@ func TestIPLookupAllFailed(t *testing.T) { func TestIPLookupInvalidIP(t *testing.T) { ctx := context.Background() - ip, err := (ipLookupClient{ + ip, err := (IpLookupClient{ Logger: log.Log, Resolver: netxlite.NewStdlibResolver(model.DiscardLogger), UserAgent: "ooniprobe-engine/0.1.0", diff --git a/internal/iplookup/mmdblookup.go b/internal/iplookup/mmdblookup.go new file mode 100644 index 0000000000..99cfd86a17 --- /dev/null +++ b/internal/iplookup/mmdblookup.go @@ -0,0 +1,15 @@ +package iplookup + +import ( + "github.com/ooni/probe-cli/v3/internal/geoipx" +) + +type MMDBLookupper struct{} + +func (MMDBLookupper) LookupASN(ip string) (uint, string, error) { + return geoipx.LookupASN(ip) +} + +func (MMDBLookupper) LookupCC(ip string) (string, error) { + return geoipx.LookupCC(ip) +} diff --git a/internal/geolocate/stun.go b/internal/iplookup/stun.go similarity index 99% rename from internal/geolocate/stun.go rename to internal/iplookup/stun.go index d6133a1096..fe89cbda8a 100644 --- a/internal/geolocate/stun.go +++ b/internal/iplookup/stun.go @@ -1,4 +1,4 @@ -package geolocate +package iplookup import ( "context" diff --git a/internal/geolocate/stun_test.go b/internal/iplookup/stun_test.go similarity index 99% rename from internal/geolocate/stun_test.go rename to internal/iplookup/stun_test.go index d8c571fc27..9112a32005 100644 --- a/internal/geolocate/stun_test.go +++ b/internal/iplookup/stun_test.go @@ -1,4 +1,4 @@ -package geolocate +package iplookup import ( "context" diff --git a/internal/geolocate/ubuntu.go b/internal/iplookup/ubuntu.go similarity index 97% rename from internal/geolocate/ubuntu.go rename to internal/iplookup/ubuntu.go index 0f75afb4e0..e4121aaa9a 100644 --- a/internal/geolocate/ubuntu.go +++ b/internal/iplookup/ubuntu.go @@ -1,4 +1,4 @@ -package geolocate +package iplookup import ( "context" diff --git a/internal/geolocate/ubuntu_test.go b/internal/iplookup/ubuntu_test.go similarity index 98% rename from internal/geolocate/ubuntu_test.go rename to internal/iplookup/ubuntu_test.go index d6edf7c015..81ce2f3cf3 100644 --- a/internal/geolocate/ubuntu_test.go +++ b/internal/iplookup/ubuntu_test.go @@ -1,4 +1,4 @@ -package geolocate +package iplookup import ( "context" diff --git a/internal/geolocate/resolverlookup.go b/internal/resolverlookup/resolverlookup.go similarity index 74% rename from internal/geolocate/resolverlookup.go rename to internal/resolverlookup/resolverlookup.go index 85da4dee3d..3c68c495dd 100644 --- a/internal/geolocate/resolverlookup.go +++ b/internal/resolverlookup/resolverlookup.go @@ -1,4 +1,4 @@ -package geolocate +package resolverlookup import ( "context" @@ -8,11 +8,17 @@ import ( "github.com/ooni/probe-cli/v3/internal/runtimex" ) -type resolverLookupClient struct { +type ResolverLookupClient struct { Logger model.Logger } -func (rlc resolverLookupClient) LookupResolverIP(ctx context.Context) (string, error) { +func NewResolverLookupClient(logger model.Logger) *ResolverLookupClient { + return &ResolverLookupClient{ + Logger: logger, + } +} + +func (rlc ResolverLookupClient) LookupResolverIP(ctx context.Context) (string, error) { // MUST be the system resolver! See https://github.com/ooni/probe/issues/2360 reso := netxlite.NewStdlibResolver(rlc.Logger) var ips []string diff --git a/internal/geolocate/resolverlookup_test.go b/internal/resolverlookup/resolverlookup_test.go similarity index 81% rename from internal/geolocate/resolverlookup_test.go rename to internal/resolverlookup/resolverlookup_test.go index 8d741e7101..f6549e810b 100644 --- a/internal/geolocate/resolverlookup_test.go +++ b/internal/resolverlookup/resolverlookup_test.go @@ -1,4 +1,4 @@ -package geolocate +package resolverlookup import ( "context" @@ -9,9 +9,7 @@ import ( ) func TestLookupResolverIPSuccess(t *testing.T) { - rlc := resolverLookupClient{ - Logger: model.DiscardLogger, - } + rlc := NewResolverLookupClient(model.DiscardLogger) addr, err := rlc.LookupResolverIP(context.Background()) if err != nil { t.Fatal(err) @@ -22,9 +20,7 @@ func TestLookupResolverIPSuccess(t *testing.T) { } func TestLookupResolverIPFailure(t *testing.T) { - rlc := resolverLookupClient{ - Logger: model.DiscardLogger, - } + rlc := NewResolverLookupClient(model.DiscardLogger) ctx, cancel := context.WithCancel(context.Background()) cancel() // stop immediately addr, err := rlc.LookupResolverIP(ctx) diff --git a/pkg/oonimkall/session_integration_test.go b/pkg/oonimkall/session_integration_test.go index a86eac412f..832a74009b 100644 --- a/pkg/oonimkall/session_integration_test.go +++ b/pkg/oonimkall/session_integration_test.go @@ -11,7 +11,7 @@ import ( "testing" "time" - "github.com/ooni/probe-cli/v3/internal/geolocate" + "github.com/ooni/probe-cli/v3/internal/iplookup" "github.com/ooni/probe-cli/v3/internal/model" "github.com/ooni/probe-cli/v3/pkg/oonimkall" ) @@ -50,7 +50,7 @@ func ReduceErrorForGeolocate(err error) error { if errors.Is(err, context.Canceled) { return nil // when we have not downloaded the resources yet } - if !errors.Is(err, geolocate.ErrAllIPLookuppersFailed) { + if !errors.Is(err, iplookup.ErrAllIPLookuppersFailed) { return nil // otherwise } return fmt.Errorf("not the error we expected: %w", err) @@ -295,7 +295,7 @@ func TestCheckInLookupLocationFailure(t *testing.T) { config.WebConnectivity.AddCategory("CULTR") ctx.Cancel() // immediate failure result, err := sess.CheckIn(ctx, &config) - if !errors.Is(err, geolocate.ErrAllIPLookuppersFailed) { + if !errors.Is(err, iplookup.ErrAllIPLookuppersFailed) { t.Fatalf("not the error we expected: %+v", err) } if result != nil {