mirror of https://github.com/v2ray/v2ray-core
remove dependency of assert lib
parent
c9958681f7
commit
28189197b3
|
@ -5,14 +5,12 @@ import (
|
||||||
"net/http"
|
"net/http"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
|
"v2ray.com/core/common"
|
||||||
"v2ray.com/core/common/buf"
|
"v2ray.com/core/common/buf"
|
||||||
. "v2ray.com/core/proxy/blackhole"
|
. "v2ray.com/core/proxy/blackhole"
|
||||||
. "v2ray.com/ext/assert"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestHTTPResponse(t *testing.T) {
|
func TestHTTPResponse(t *testing.T) {
|
||||||
assert := With(t)
|
|
||||||
|
|
||||||
buffer := buf.New()
|
buffer := buf.New()
|
||||||
|
|
||||||
httpResponse := new(HTTPResponse)
|
httpResponse := new(HTTPResponse)
|
||||||
|
@ -20,6 +18,8 @@ func TestHTTPResponse(t *testing.T) {
|
||||||
|
|
||||||
reader := bufio.NewReader(buffer)
|
reader := bufio.NewReader(buffer)
|
||||||
response, err := http.ReadResponse(reader, nil)
|
response, err := http.ReadResponse(reader, nil)
|
||||||
assert(err, IsNil)
|
common.Must(err)
|
||||||
assert(response.StatusCode, Equals, 403)
|
if response.StatusCode != 403 {
|
||||||
|
t.Error("expected status code 403, but got ", response.StatusCode)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,13 +4,13 @@ import (
|
||||||
"crypto/rand"
|
"crypto/rand"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
|
"github.com/google/go-cmp/cmp"
|
||||||
|
|
||||||
"v2ray.com/core/common"
|
"v2ray.com/core/common"
|
||||||
. "v2ray.com/core/proxy/vmess/encoding"
|
. "v2ray.com/core/proxy/vmess/encoding"
|
||||||
. "v2ray.com/ext/assert"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestFnvAuth(t *testing.T) {
|
func TestFnvAuth(t *testing.T) {
|
||||||
assert := With(t)
|
|
||||||
fnvAuth := new(FnvAuthenticator)
|
fnvAuth := new(FnvAuthenticator)
|
||||||
|
|
||||||
expectedText := make([]byte, 256)
|
expectedText := make([]byte, 256)
|
||||||
|
@ -20,7 +20,8 @@ func TestFnvAuth(t *testing.T) {
|
||||||
buffer := make([]byte, 512)
|
buffer := make([]byte, 512)
|
||||||
b := fnvAuth.Seal(buffer[:0], nil, expectedText, nil)
|
b := fnvAuth.Seal(buffer[:0], nil, expectedText, nil)
|
||||||
b, err = fnvAuth.Open(buffer[:0], nil, b, nil)
|
b, err = fnvAuth.Open(buffer[:0], nil, b, nil)
|
||||||
assert(err, IsNil)
|
common.Must(err)
|
||||||
assert(len(b), Equals, 256)
|
if r := cmp.Diff(b, expectedText); r != "" {
|
||||||
assert(b, Equals, expectedText)
|
t.Error(r)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -16,6 +16,7 @@ import (
|
||||||
_ "v2ray.com/core/app/proxyman/inbound"
|
_ "v2ray.com/core/app/proxyman/inbound"
|
||||||
_ "v2ray.com/core/app/proxyman/outbound"
|
_ "v2ray.com/core/app/proxyman/outbound"
|
||||||
"v2ray.com/core/app/router"
|
"v2ray.com/core/app/router"
|
||||||
|
"v2ray.com/core/common"
|
||||||
clog "v2ray.com/core/common/log"
|
clog "v2ray.com/core/common/log"
|
||||||
"v2ray.com/core/common/net"
|
"v2ray.com/core/common/net"
|
||||||
"v2ray.com/core/common/protocol"
|
"v2ray.com/core/common/protocol"
|
||||||
|
@ -107,13 +108,11 @@ func TestPassiveConnection(t *testing.T) {
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestProxy(t *testing.T) {
|
func TestProxy(t *testing.T) {
|
||||||
assert := With(t)
|
|
||||||
|
|
||||||
tcpServer := tcp.Server{
|
tcpServer := tcp.Server{
|
||||||
MsgProcessor: xor,
|
MsgProcessor: xor,
|
||||||
}
|
}
|
||||||
dest, err := tcpServer.Start()
|
dest, err := tcpServer.Start()
|
||||||
assert(err, IsNil)
|
common.Must(err)
|
||||||
defer tcpServer.Close()
|
defer tcpServer.Close()
|
||||||
|
|
||||||
serverUserID := protocol.NewID(uuid.New())
|
serverUserID := protocol.NewID(uuid.New())
|
||||||
|
@ -232,26 +231,12 @@ func TestProxy(t *testing.T) {
|
||||||
}
|
}
|
||||||
|
|
||||||
servers, err := InitializeServerConfigs(serverConfig, proxyConfig, clientConfig)
|
servers, err := InitializeServerConfigs(serverConfig, proxyConfig, clientConfig)
|
||||||
assert(err, IsNil)
|
common.Must(err)
|
||||||
|
defer CloseAllServers(servers)
|
||||||
|
|
||||||
conn, err := net.DialTCP("tcp", nil, &net.TCPAddr{
|
if err := testTCPConn(clientPort, 1024, time.Second*5)(); err != nil {
|
||||||
IP: []byte{127, 0, 0, 1},
|
t.Error(err)
|
||||||
Port: int(clientPort),
|
}
|
||||||
})
|
|
||||||
assert(err, IsNil)
|
|
||||||
|
|
||||||
payload := "dokodemo request."
|
|
||||||
nBytes, err := conn.Write([]byte(payload))
|
|
||||||
assert(err, IsNil)
|
|
||||||
assert(nBytes, Equals, len(payload))
|
|
||||||
|
|
||||||
response := make([]byte, 1024)
|
|
||||||
nBytes, err = conn.Read(response)
|
|
||||||
assert(err, IsNil)
|
|
||||||
assert(response[:nBytes], Equals, xor([]byte(payload)))
|
|
||||||
assert(conn.Close(), IsNil)
|
|
||||||
|
|
||||||
CloseAllServers(servers)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestProxyOverKCP(t *testing.T) {
|
func TestProxyOverKCP(t *testing.T) {
|
||||||
|
|
|
@ -12,12 +12,9 @@ import (
|
||||||
"v2ray.com/core/common/net"
|
"v2ray.com/core/common/net"
|
||||||
"v2ray.com/core/transport/internet"
|
"v2ray.com/core/transport/internet"
|
||||||
. "v2ray.com/core/transport/internet/domainsocket"
|
. "v2ray.com/core/transport/internet/domainsocket"
|
||||||
. "v2ray.com/ext/assert"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestListen(t *testing.T) {
|
func TestListen(t *testing.T) {
|
||||||
assert := With(t)
|
|
||||||
|
|
||||||
ctx := context.Background()
|
ctx := context.Background()
|
||||||
streamSettings := &internet.MemoryStreamConfig{
|
streamSettings := &internet.MemoryStreamConfig{
|
||||||
ProtocolName: "domainsocket",
|
ProtocolName: "domainsocket",
|
||||||
|
@ -29,25 +26,28 @@ func TestListen(t *testing.T) {
|
||||||
defer conn.Close()
|
defer conn.Close()
|
||||||
|
|
||||||
b := buf.New()
|
b := buf.New()
|
||||||
|
defer b.Release()
|
||||||
common.Must2(b.ReadFrom(conn))
|
common.Must2(b.ReadFrom(conn))
|
||||||
assert(b.String(), Equals, "Request")
|
b.WriteString("Response")
|
||||||
|
|
||||||
common.Must2(conn.Write([]byte("Response")))
|
common.Must2(conn.Write(b.Bytes()))
|
||||||
})
|
})
|
||||||
assert(err, IsNil)
|
common.Must(err)
|
||||||
defer listener.Close()
|
defer listener.Close()
|
||||||
|
|
||||||
conn, err := Dial(ctx, net.Destination{}, streamSettings)
|
conn, err := Dial(ctx, net.Destination{}, streamSettings)
|
||||||
assert(err, IsNil)
|
common.Must(err)
|
||||||
defer conn.Close()
|
defer conn.Close()
|
||||||
|
|
||||||
_, err = conn.Write([]byte("Request"))
|
common.Must2(conn.Write([]byte("Request")))
|
||||||
assert(err, IsNil)
|
|
||||||
|
|
||||||
b := buf.New()
|
b := buf.New()
|
||||||
|
defer b.Release()
|
||||||
common.Must2(b.ReadFrom(conn))
|
common.Must2(b.ReadFrom(conn))
|
||||||
|
|
||||||
assert(b.String(), Equals, "Response")
|
if b.String() != "RequestResponse" {
|
||||||
|
t.Error("expected response as 'RequestResponse' but got ", b.String())
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestListenAbstract(t *testing.T) {
|
func TestListenAbstract(t *testing.T) {
|
||||||
|
@ -55,8 +55,6 @@ func TestListenAbstract(t *testing.T) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
assert := With(t)
|
|
||||||
|
|
||||||
ctx := context.Background()
|
ctx := context.Background()
|
||||||
streamSettings := &internet.MemoryStreamConfig{
|
streamSettings := &internet.MemoryStreamConfig{
|
||||||
ProtocolName: "domainsocket",
|
ProtocolName: "domainsocket",
|
||||||
|
@ -69,23 +67,26 @@ func TestListenAbstract(t *testing.T) {
|
||||||
defer conn.Close()
|
defer conn.Close()
|
||||||
|
|
||||||
b := buf.New()
|
b := buf.New()
|
||||||
|
defer b.Release()
|
||||||
common.Must2(b.ReadFrom(conn))
|
common.Must2(b.ReadFrom(conn))
|
||||||
assert(b.String(), Equals, "Request")
|
b.WriteString("Response")
|
||||||
|
|
||||||
common.Must2(conn.Write([]byte("Response")))
|
common.Must2(conn.Write(b.Bytes()))
|
||||||
})
|
})
|
||||||
assert(err, IsNil)
|
common.Must(err)
|
||||||
defer listener.Close()
|
defer listener.Close()
|
||||||
|
|
||||||
conn, err := Dial(ctx, net.Destination{}, streamSettings)
|
conn, err := Dial(ctx, net.Destination{}, streamSettings)
|
||||||
assert(err, IsNil)
|
common.Must(err)
|
||||||
defer conn.Close()
|
defer conn.Close()
|
||||||
|
|
||||||
_, err = conn.Write([]byte("Request"))
|
common.Must2(conn.Write([]byte("Request")))
|
||||||
assert(err, IsNil)
|
|
||||||
|
|
||||||
b := buf.New()
|
b := buf.New()
|
||||||
|
defer b.Release()
|
||||||
common.Must2(b.ReadFrom(conn))
|
common.Must2(b.ReadFrom(conn))
|
||||||
|
|
||||||
assert(b.String(), Equals, "Response")
|
if b.String() != "RequestResponse" {
|
||||||
|
t.Error("expected response as 'RequestResponse' but got ", b.String())
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,25 +3,47 @@ package internet_test
|
||||||
import (
|
import (
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
|
"v2ray.com/core/common"
|
||||||
. "v2ray.com/core/transport/internet"
|
. "v2ray.com/core/transport/internet"
|
||||||
"v2ray.com/core/transport/internet/headers/noop"
|
"v2ray.com/core/transport/internet/headers/noop"
|
||||||
"v2ray.com/core/transport/internet/headers/srtp"
|
"v2ray.com/core/transport/internet/headers/srtp"
|
||||||
"v2ray.com/core/transport/internet/headers/utp"
|
"v2ray.com/core/transport/internet/headers/utp"
|
||||||
. "v2ray.com/ext/assert"
|
"v2ray.com/core/transport/internet/headers/wechat"
|
||||||
|
"v2ray.com/core/transport/internet/headers/wireguard"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestAllHeadersLoadable(t *testing.T) {
|
func TestAllHeadersLoadable(t *testing.T) {
|
||||||
assert := With(t)
|
testCases := []struct {
|
||||||
|
Input interface{}
|
||||||
noopAuth, err := CreatePacketHeader((*noop.Config)(nil))
|
Size int32
|
||||||
assert(err, IsNil)
|
}{
|
||||||
assert(noopAuth.Size(), Equals, int32(0))
|
{
|
||||||
|
Input: new(noop.Config),
|
||||||
srtp, err := CreatePacketHeader((*srtp.Config)(nil))
|
Size: 0,
|
||||||
assert(err, IsNil)
|
},
|
||||||
assert(srtp.Size(), Equals, int32(4))
|
{
|
||||||
|
Input: new(srtp.Config),
|
||||||
utp, err := CreatePacketHeader((*utp.Config)(nil))
|
Size: 4,
|
||||||
assert(err, IsNil)
|
},
|
||||||
assert(utp.Size(), Equals, int32(4))
|
{
|
||||||
|
Input: new(utp.Config),
|
||||||
|
Size: 4,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
Input: new(wechat.VideoConfig),
|
||||||
|
Size: 13,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
Input: new(wireguard.WireguardConfig),
|
||||||
|
Size: 4,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, testCase := range testCases {
|
||||||
|
header, err := CreatePacketHeader(testCase.Input)
|
||||||
|
common.Must(err)
|
||||||
|
if header.Size() != testCase.Size {
|
||||||
|
t.Error("expected size ", testCase.Size, " but got ", header.Size())
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue