Skip to content

Commit 4cf8e4b

Browse files
committed
test: add timeout for receive message async
1 parent 5ddcb76 commit 4cf8e4b

File tree

1 file changed

+8
-2
lines changed

1 file changed

+8
-2
lines changed

test/Cnblogs.DashScope.Tests.Shared/Utils/FakeClientWebSocket.cs

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -96,9 +96,15 @@ public async Task<WebSocketReceiveResult> ReceiveAsync(
9696
ArraySegment<byte> buffer,
9797
CancellationToken cancellationToken)
9898
{
99-
var jsonTask = Server.Reader.WaitToReadAsync(cancellationToken);
99+
var timeout = Task.Delay(1000, cancellationToken);
100+
var jsonTask = Server.Reader.WaitToReadAsync(cancellationToken).AsTask();
100101
var binaryTask = ServerBuffer.Reader.WaitToReadAsync(cancellationToken);
101-
await jsonTask;
102+
var finishedTask = await Task.WhenAny(jsonTask, timeout);
103+
if (finishedTask == timeout)
104+
{
105+
throw new TimeoutException("waiting for next socket message timeouts");
106+
}
107+
102108
if (binaryTask.IsCompleted)
103109
{
104110
var binary = await ServerBuffer.Reader.ReadAsync(cancellationToken);

0 commit comments

Comments
 (0)