| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- package hub_test
- import (
- "net"
- "testing"
- v2net "github.com/v2ray/v2ray-core/common/net"
- v2nettesting "github.com/v2ray/v2ray-core/common/net/testing"
- "github.com/v2ray/v2ray-core/testing/assert"
- "github.com/v2ray/v2ray-core/testing/servers/tcp"
- . "github.com/v2ray/v2ray-core/transport/hub"
- )
- func TestDialDomain(t *testing.T) {
- assert := assert.On(t)
- server := &tcp.Server{
- Port: v2nettesting.PickPort(),
- }
- dest, err := server.Start()
- assert.Error(err).IsNil()
- defer server.Close()
- conn, err := Dial(nil, v2net.TCPDestination(v2net.DomainAddress("local.v2ray.com"), dest.Port()))
- assert.Error(err).IsNil()
- assert.String(conn.RemoteAddr().String()).Equals("127.0.0.1:" + dest.Port().String())
- conn.Close()
- }
- func TestDialWithLocalAddr(t *testing.T) {
- assert := assert.On(t)
- server := &tcp.Server{
- Port: v2nettesting.PickPort(),
- }
- dest, err := server.Start()
- assert.Error(err).IsNil()
- defer server.Close()
- var localAddr net.IP
- addrs, err := net.InterfaceAddrs()
- assert.Error(err).IsNil()
- for _, addr := range addrs {
- str := addr.String()
- ip := net.ParseIP(str)
- if ip != nil && ip.To4() != nil {
- localAddr = ip.To4()
- }
- }
- assert.Pointer(localAddr).IsNotNil()
- conn, err := Dial(v2net.IPAddress(localAddr), v2net.TCPDestination(v2net.LocalHostIP, dest.Port()))
- assert.Error(err).IsNil()
- assert.String(conn.RemoteAddr().String()).Equals("127.0.0.1:" + dest.Port().String())
- conn.Close()
- }
|