refactor(sessionresolver): adapt to changing network conditions (#238)
* feat(sessionresolver): try many and use what works * fix(sessionresolver): make sure we can use quic * fix: the config struct is unnecessary * fix: make kvstore optional * feat: write simple integration test * feat: start adding tests * feat: continue writing tests * fix(sessionresolver): add more unit tests * fix(sessionresolver): finish adding tests * refactor(sessionresolver): changes after code review
This commit is contained in:
parent
12e1164940
commit
034db78f94
19 changed files with 1260 additions and 66 deletions
29
internal/engine/internal/sessionresolver/integration_test.go
Normal file
29
internal/engine/internal/sessionresolver/integration_test.go
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
package sessionresolver_test
|
||||
|
||||
import (
|
||||
"context"
|
||||
"testing"
|
||||
|
||||
"github.com/ooni/probe-cli/v3/internal/engine/internal/sessionresolver"
|
||||
)
|
||||
|
||||
func TestSessionResolverGood(t *testing.T) {
|
||||
if testing.Short() {
|
||||
t.Skip("skipping test in short mode")
|
||||
}
|
||||
reso := &sessionresolver.Resolver{}
|
||||
defer reso.CloseIdleConnections()
|
||||
if reso.Network() != "sessionresolver" {
|
||||
t.Fatal("unexpected Network")
|
||||
}
|
||||
if reso.Address() != "" {
|
||||
t.Fatal("unexpected Address")
|
||||
}
|
||||
addrs, err := reso.LookupHost(context.Background(), "google.com")
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if len(addrs) < 1 {
|
||||
t.Fatal("expected some addrs here")
|
||||
}
|
||||
}
|
||||
Loading…
Reference in a new issue