添加新的网口标识
This commit is contained in:
@@ -58,6 +58,51 @@ func TestDialRegistersPeer(t *testing.T) {
|
||||
waitFor(t, func() bool { return hub.HasPeer("peer-a") }, "peer-a to be registered")
|
||||
}
|
||||
|
||||
func TestDialRegistersPeerWithBindIP(t *testing.T) {
|
||||
hub := server.NewHub()
|
||||
cleanup := stubDialToHub(t, hub)
|
||||
defer cleanup()
|
||||
|
||||
client, err := Dial("ignored", "peer-a", WithBindIP("127.0.0.1"))
|
||||
if err != nil {
|
||||
t.Fatalf("Dial() with bind ip error = %v", err)
|
||||
}
|
||||
defer func() { _ = client.Close() }()
|
||||
|
||||
waitFor(t, func() bool { return hub.HasPeer("peer-a") }, "peer-a to be registered")
|
||||
}
|
||||
|
||||
func TestDialRejectsInvalidBindIP(t *testing.T) {
|
||||
_, err := Dial("ignored", "peer-a", WithBindIP("not-an-ip"))
|
||||
if err == nil {
|
||||
t.Fatal("Dial() error = nil, want invalid bind ip error")
|
||||
}
|
||||
if !strings.Contains(err.Error(), `invalid bind ip "not-an-ip"`) {
|
||||
t.Fatalf("Dial() error = %v, want invalid bind ip error", err)
|
||||
}
|
||||
}
|
||||
|
||||
func TestDialPassesBindDeviceOptionToDialer(t *testing.T) {
|
||||
originalDial := dialServer
|
||||
defer func() {
|
||||
dialServer = originalDial
|
||||
}()
|
||||
|
||||
gotDevice := ""
|
||||
dialServer = func(_ string, options clientOptions) (net.Conn, error) {
|
||||
gotDevice = options.bindDevice
|
||||
return nil, net.ErrClosed
|
||||
}
|
||||
|
||||
_, err := Dial("ignored", "peer-a", WithBindDevice("wwan0"))
|
||||
if err == nil {
|
||||
t.Fatal("Dial() error = nil, want dial error")
|
||||
}
|
||||
if gotDevice != "wwan0" {
|
||||
t.Fatalf("bind device = %q, want %q", gotDevice, "wwan0")
|
||||
}
|
||||
}
|
||||
|
||||
func TestClientsExchangeTextAndFileMessages(t *testing.T) {
|
||||
hub := server.NewHub()
|
||||
cleanup := stubDialToHub(t, hub)
|
||||
@@ -662,8 +707,12 @@ func stubDialToHub(t *testing.T, hub *server.Hub) func() {
|
||||
originalDial := dialServer
|
||||
serverAddr, cleanup := startRealHubServer(t, hub)
|
||||
|
||||
dialServer = func(network, addr string) (net.Conn, error) {
|
||||
return net.Dial(network, serverAddr)
|
||||
dialServer = func(_ string, options clientOptions) (net.Conn, error) {
|
||||
dialer, err := buildDialer(options)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return dialer.Dial("tcp", serverAddr)
|
||||
}
|
||||
|
||||
return func() {
|
||||
|
||||
Reference in New Issue
Block a user