protocol_test.go 775 B

12345678910111213141516171819202122232425262728293031323334
  1. package socks_test
  2. import (
  3. "testing"
  4. "v2ray.com/core/common/buf"
  5. "v2ray.com/core/common/net"
  6. "v2ray.com/core/common/protocol"
  7. . "v2ray.com/core/proxy/socks"
  8. "v2ray.com/core/testing/assert"
  9. )
  10. func TestUDPEncoding(t *testing.T) {
  11. assert := assert.On(t)
  12. b := buf.New()
  13. request := &protocol.RequestHeader{
  14. Address: net.IPAddress([]byte{1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6}),
  15. Port: 1024,
  16. }
  17. writer := buf.NewSequentialWriter(NewUDPWriter(request, b))
  18. content := []byte{'a'}
  19. payload := buf.New()
  20. payload.Append(content)
  21. assert.Error(writer.Write(buf.NewMultiBufferValue(payload))).IsNil()
  22. reader := NewUDPReader(b)
  23. decodedPayload, err := reader.Read()
  24. assert.Error(err).IsNil()
  25. assert.Bytes(decodedPayload[0].Bytes()).Equals(content)
  26. }