Add TCP Servers Transports support
Co-authored-by: Romain <rtribotte@users.noreply.github.com>
This commit is contained in:
parent
c2dac39da1
commit
3eeea2bb2b
101 changed files with 5956 additions and 1669 deletions
|
@ -3,7 +3,6 @@ package tcp
|
|||
import (
|
||||
"bytes"
|
||||
"errors"
|
||||
"fmt"
|
||||
"io"
|
||||
"net"
|
||||
"testing"
|
||||
|
@ -20,7 +19,6 @@ func fakeRedis(t *testing.T, listener net.Listener) {
|
|||
|
||||
for {
|
||||
conn, err := listener.Accept()
|
||||
fmt.Println("Accept on server")
|
||||
require.NoError(t, err)
|
||||
|
||||
for {
|
||||
|
@ -54,7 +52,9 @@ func TestCloseWrite(t *testing.T) {
|
|||
_, port, err := net.SplitHostPort(backendListener.Addr().String())
|
||||
require.NoError(t, err)
|
||||
|
||||
proxy, err := NewProxy(":"+port, 10*time.Millisecond, nil)
|
||||
dialer := tcpDialer{&net.Dialer{}, 10 * time.Millisecond}
|
||||
|
||||
proxy, err := NewProxy(":"+port, nil, dialer)
|
||||
require.NoError(t, err)
|
||||
|
||||
proxyListener, err := net.Listen("tcp", ":0")
|
||||
|
@ -133,7 +133,9 @@ func TestProxyProtocol(t *testing.T) {
|
|||
_, port, err := net.SplitHostPort(proxyBackendListener.Addr().String())
|
||||
require.NoError(t, err)
|
||||
|
||||
proxy, err := NewProxy(":"+port, 10*time.Millisecond, &dynamic.ProxyProtocol{Version: test.version})
|
||||
dialer := tcpDialer{&net.Dialer{}, 10 * time.Millisecond}
|
||||
|
||||
proxy, err := NewProxy(":"+port, &dynamic.ProxyProtocol{Version: test.version}, dialer)
|
||||
require.NoError(t, err)
|
||||
|
||||
proxyListener, err := net.Listen("tcp", ":0")
|
||||
|
@ -171,42 +173,3 @@ func TestProxyProtocol(t *testing.T) {
|
|||
})
|
||||
}
|
||||
}
|
||||
|
||||
func TestLookupAddress(t *testing.T) {
|
||||
testCases := []struct {
|
||||
desc string
|
||||
address string
|
||||
expectAddr assert.ComparisonAssertionFunc
|
||||
expectRefresh assert.ValueAssertionFunc
|
||||
}{
|
||||
{
|
||||
desc: "IP doesn't need refresh",
|
||||
address: "8.8.4.4:53",
|
||||
expectAddr: assert.Equal,
|
||||
expectRefresh: assert.NotNil,
|
||||
},
|
||||
{
|
||||
desc: "Hostname needs refresh",
|
||||
address: "dns.google:53",
|
||||
expectAddr: assert.NotEqual,
|
||||
expectRefresh: assert.Nil,
|
||||
},
|
||||
}
|
||||
|
||||
for _, test := range testCases {
|
||||
test := test
|
||||
t.Run(test.desc, func(t *testing.T) {
|
||||
t.Parallel()
|
||||
|
||||
proxy, err := NewProxy(test.address, 10*time.Millisecond, nil)
|
||||
require.NoError(t, err)
|
||||
|
||||
test.expectRefresh(t, proxy.tcpAddr)
|
||||
|
||||
conn, err := proxy.dialBackend()
|
||||
require.NoError(t, err)
|
||||
|
||||
test.expectAddr(t, test.address, conn.RemoteAddr().String())
|
||||
})
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue