37 lines
1.2 KiB
Go
Raw Normal View History

2016-02-05 10:38:45 +00:00
package shadowsocks_test
import (
"testing"
2016-08-20 20:55:45 +02:00
"v2ray.com/core/common/alloc"
. "v2ray.com/core/proxy/shadowsocks"
"v2ray.com/core/testing/assert"
2016-02-05 10:38:45 +00:00
)
func TestNormalChunkReading(t *testing.T) {
2016-05-24 21:55:46 +02:00
assert := assert.On(t)
2016-02-05 10:38:45 +00:00
buffer := alloc.NewBuffer().Clear().AppendBytes(
0, 8, 39, 228, 69, 96, 133, 39, 254, 26, 201, 70, 11, 12, 13, 14, 15, 16, 17, 18)
reader := NewChunkReader(buffer, NewAuthenticator(ChunkKeyGenerator(
[]byte{21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36})))
payload, err := reader.Read()
assert.Error(err).IsNil()
2016-12-05 15:19:14 +01:00
assert.Bytes(payload.Bytes()).Equals([]byte{11, 12, 13, 14, 15, 16, 17, 18})
2016-07-13 11:38:14 +02:00
payload.PrependBytes(3, 4)
2016-12-05 15:19:14 +01:00
assert.Bytes(payload.Bytes()).Equals([]byte{3, 4, 11, 12, 13, 14, 15, 16, 17, 18})
2016-02-05 10:38:45 +00:00
}
2016-10-21 00:33:23 +02:00
func TestNormalChunkWriting(t *testing.T) {
assert := assert.On(t)
2016-10-31 15:24:28 +01:00
buffer := alloc.NewLocalBuffer(512).Clear()
2016-10-21 00:33:23 +02:00
writer := NewChunkWriter(buffer, NewAuthenticator(ChunkKeyGenerator(
[]byte{21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36})))
2016-10-31 15:24:28 +01:00
err := writer.Write(alloc.NewLocalBuffer(256).Clear().Append([]byte{11, 12, 13, 14, 15, 16, 17, 18}))
2016-10-21 00:33:23 +02:00
assert.Error(err).IsNil()
2016-12-05 15:19:14 +01:00
assert.Bytes(buffer.Bytes()).Equals([]byte{0, 8, 39, 228, 69, 96, 133, 39, 254, 26, 201, 70, 11, 12, 13, 14, 15, 16, 17, 18})
2016-10-21 00:33:23 +02:00
}