3ba5626b95
Like before, do not touch the rest of the tree. Rather create compatibility types declared as legacy. We will soon be able to close idle connections for an HTTP3 transport using any kind of resolvers more easily. See https://github.com/ooni/probe/issues/1591
81 lines
1.7 KiB
Go
81 lines
1.7 KiB
Go
package netxlite
|
|
|
|
import (
|
|
"net"
|
|
"testing"
|
|
|
|
"github.com/ooni/probe-cli/v3/internal/netxlite/mocks"
|
|
)
|
|
|
|
func TestResolverLegacyAdapterWithCompatibleType(t *testing.T) {
|
|
var called bool
|
|
r := NewResolverLegacyAdapter(&mocks.Resolver{
|
|
MockNetwork: func() string {
|
|
return "network"
|
|
},
|
|
MockAddress: func() string {
|
|
return "address"
|
|
},
|
|
MockCloseIdleConnections: func() {
|
|
called = true
|
|
},
|
|
})
|
|
if r.Network() != "network" {
|
|
t.Fatal("invalid Network")
|
|
}
|
|
if r.Address() != "address" {
|
|
t.Fatal("invalid Address")
|
|
}
|
|
r.CloseIdleConnections()
|
|
if !called {
|
|
t.Fatal("not called")
|
|
}
|
|
}
|
|
|
|
func TestResolverLegacyAdapterDefaults(t *testing.T) {
|
|
r := NewResolverLegacyAdapter(&net.Resolver{})
|
|
if r.Network() != "adapter" {
|
|
t.Fatal("invalid Network")
|
|
}
|
|
if r.Address() != "" {
|
|
t.Fatal("invalid Address")
|
|
}
|
|
r.CloseIdleConnections() // does not crash
|
|
}
|
|
|
|
func TestDialerLegacyAdapterWithCompatibleType(t *testing.T) {
|
|
var called bool
|
|
r := NewDialerLegacyAdapter(&mocks.Dialer{
|
|
MockCloseIdleConnections: func() {
|
|
called = true
|
|
},
|
|
})
|
|
r.CloseIdleConnections()
|
|
if !called {
|
|
t.Fatal("not called")
|
|
}
|
|
}
|
|
|
|
func TestDialerLegacyAdapterDefaults(t *testing.T) {
|
|
r := NewDialerLegacyAdapter(&net.Dialer{})
|
|
r.CloseIdleConnections() // does not crash
|
|
}
|
|
|
|
func TestQUICContextDialerAdapterWithCompatibleType(t *testing.T) {
|
|
var called bool
|
|
d := NewQUICDialerFromContextDialerAdapter(&mocks.QUICDialer{
|
|
MockCloseIdleConnections: func() {
|
|
called = true
|
|
},
|
|
})
|
|
d.CloseIdleConnections()
|
|
if !called {
|
|
t.Fatal("not called")
|
|
}
|
|
}
|
|
|
|
func TestQUICContextDialerAdapterDefaults(t *testing.T) {
|
|
d := NewQUICDialerFromContextDialerAdapter(&mocks.QUICContextDialer{})
|
|
d.CloseIdleConnections() // does not crash
|
|
}
|