Skip to content

Commit d7647f1

Browse files
committed
test: 补充编解码单元测试
1 parent 07ac4e1 commit d7647f1

File tree

1 file changed

+24
-1
lines changed

1 file changed

+24
-1
lines changed

src/test/java/top/meethigher/proxy/tcp/tunnel/codec/TunnelMessageParserTest.java

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import org.junit.Test;
66

77
import java.nio.charset.StandardCharsets;
8+
import java.util.concurrent.ThreadLocalRandom;
89

910
public class TunnelMessageParserTest {
1011

@@ -16,14 +17,36 @@ public void handle() {
1617
Buffer buffer3 = TunnelMessageCodec.encode((short) 3, "third message".getBytes(StandardCharsets.UTF_8));
1718
Buffer buffer4 = TunnelMessageCodec.encode((short) 4, "forth message".getBytes(StandardCharsets.UTF_8));
1819

19-
Buffer buffer = Buffer.buffer().appendBuffer(buffer1).appendBuffer(buffer2).appendBuffer(buffer3).appendBuffer(buffer4);
20+
final Buffer bufferOrigin = Buffer.buffer().appendBuffer(buffer1).appendBuffer(buffer2).appendBuffer(buffer3).appendBuffer(buffer4);
21+
Buffer buffer = bufferOrigin.copy();
2022
Handler<Buffer> handler = buf -> {
2123
TunnelMessageCodec.DecodedMessage decodedMessage = TunnelMessageCodec.decode(buf);
2224
System.out.println(new String(decodedMessage.body));
2325
};
2426

2527
TunnelMessageParser parser = new TunnelMessageParser(handler, null);
2628

29+
// 一条消息完整写出
2730
parser.handle(buffer);
31+
32+
for (int i = 0; i < 10000; i++) {
33+
// 随机长度消息写出
34+
Buffer tBuf = bufferOrigin.copy();
35+
System.out.println("start " + tBuf.length());
36+
int index = 0;
37+
while (true) {
38+
int lastIndex = tBuf.length();
39+
if (index >= lastIndex) {
40+
break;
41+
}
42+
int endIndex = ThreadLocalRandom.current().nextInt(index, lastIndex + 1);
43+
parser.handle(tBuf.getBuffer(index, endIndex));
44+
System.out.println(index + "--" + endIndex);
45+
index = endIndex;
46+
47+
}
48+
System.out.println("end");
49+
}
50+
2851
}
2952
}

0 commit comments

Comments
 (0)