From 6faff6d514eb8295f7c9380bde1cf19e4b165682 Mon Sep 17 00:00:00 2001 From: V2Ray Date: Tue, 3 Nov 2015 18:33:58 +0100 Subject: [PATCH] test case for socks udp protocol --- proxy/socks/protocol/udp_test.go | 35 ++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 proxy/socks/protocol/udp_test.go diff --git a/proxy/socks/protocol/udp_test.go b/proxy/socks/protocol/udp_test.go new file mode 100644 index 000000000..4e4afde7c --- /dev/null +++ b/proxy/socks/protocol/udp_test.go @@ -0,0 +1,35 @@ +package protocol + +import ( + "testing" + + "github.com/v2ray/v2ray-core/testing/unit" + "github.com/v2ray/v2ray-core/transport" +) + +func TestSingleByteRequest(t *testing.T) { + assert := unit.Assert(t) + + request, err := ReadUDPRequest(make([]byte, 1)) + if request != nil { + t.Fail() + } + assert.Error(err).Equals(transport.CorruptedPacket) +} + +func TestDomainAddressRequest(t *testing.T) { + assert := unit.Assert(t) + + payload := make([]byte, 0, 1024) + payload = append(payload, 0, 0, 1, AddrTypeDomain, byte(len("v2ray.com"))) + payload = append(payload, []byte("v2ray.com")...) + payload = append(payload, 0, 80) + payload = append(payload, []byte("Actual payload")...) + + request, err := ReadUDPRequest(payload) + assert.Error(err).IsNil() + + assert.Byte(request.Fragment).Equals(1) + assert.String(request.Address.String()).Equals("v2ray.com:80") + assert.Bytes(request.Data.Value).Equals([]byte("Actual payload")) +}