mirror of https://github.com/v2ray/v2ray-core
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
37 lines
1.1 KiB
37 lines
1.1 KiB
package shadowsocks_test |
|
|
|
import ( |
|
"testing" |
|
|
|
"github.com/google/go-cmp/cmp" |
|
|
|
"v2ray.com/core/common" |
|
"v2ray.com/core/common/buf" |
|
. "v2ray.com/core/proxy/shadowsocks" |
|
) |
|
|
|
func TestNormalChunkReading(t *testing.T) { |
|
buffer := buf.New() |
|
buffer.Write([]byte{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.ReadMultiBuffer() |
|
common.Must(err) |
|
|
|
if diff := cmp.Diff(payload[0].Bytes(), []byte{11, 12, 13, 14, 15, 16, 17, 18}); diff != "" { |
|
t.Error(diff) |
|
} |
|
} |
|
|
|
func TestNormalChunkWriting(t *testing.T) { |
|
buffer := buf.New() |
|
writer := NewChunkWriter(buffer, NewAuthenticator(ChunkKeyGenerator( |
|
[]byte{21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36}))) |
|
|
|
b := buf.New() |
|
b.Write([]byte{11, 12, 13, 14, 15, 16, 17, 18}) |
|
common.Must(writer.WriteMultiBuffer(buf.MultiBuffer{b})) |
|
if diff := cmp.Diff(buffer.Bytes(), []byte{0, 8, 39, 228, 69, 96, 133, 39, 254, 26, 201, 70, 11, 12, 13, 14, 15, 16, 17, 18}); diff != "" { |
|
t.Error(diff) |
|
} |
|
}
|
|
|