This commit is contained in:
Stef Heyenrath
2026-02-14 11:41:25 +01:00
parent 99f42fb255
commit 6cc18e796c
55 changed files with 164 additions and 398 deletions

View File

@@ -15,7 +15,7 @@ internal static class ClientWebSocketExtensions
internal static async Task<string> ReceiveAsTextAsync(this ClientWebSocket client, int bufferSize = 1024, CancellationToken cancellationToken = default)
{
using var receiveBuffer = ArrayPool<byte>.Shared.Lease(1024);
using var receiveBuffer = ArrayPool<byte>.Shared.Lease(bufferSize);
var result = await client.ReceiveAsync(new ArraySegment<byte>(receiveBuffer), cancellationToken);
if (result.MessageType != WebSocketMessageType.Text)
@@ -33,7 +33,7 @@ internal static class ClientWebSocketExtensions
internal static async Task<byte[]> ReceiveAsBytesAsync(this ClientWebSocket client, int bufferSize = 1024, CancellationToken cancellationToken = default)
{
using var receiveBuffer = ArrayPool<byte>.Shared.Lease(1024);
using var receiveBuffer = ArrayPool<byte>.Shared.Lease(bufferSize);
var result = await client.ReceiveAsync(new ArraySegment<byte>(receiveBuffer), cancellationToken);
if (result.MessageType != WebSocketMessageType.Binary)

View File

@@ -8,7 +8,6 @@ using WireMock.RequestBuilders;
using WireMock.ResponseBuilders;
using WireMock.Server;
using WireMock.Settings;
using Xunit.Abstractions;
namespace WireMock.Net.Tests.WebSockets;
@@ -18,6 +17,7 @@ public class WebSocketIntegrationTests(ITestOutputHelper output)
public async Task EchoServer_Should_Echo_Text_Messages()
{
// Arrange
var cancelationToken = TestContext.Current.CancellationToken;
using var server = WireMockServer.Start(new WireMockServerSettings
{
Logger = new TestOutputHelperWireMockLogger(output),
@@ -43,10 +43,10 @@ public class WebSocketIntegrationTests(ITestOutputHelper output)
client.State.Should().Be(WebSocketState.Open);
var testMessage = "Hello, WebSocket!";
await client.SendAsync(testMessage);
await client.SendAsync(testMessage, cancellationToken: cancelationToken);
// Assert
var received = await client.ReceiveAsTextAsync();
var received = await client.ReceiveAsTextAsync(cancellationToken: cancelationToken);
received.Should().Be(testMessage);
await client.CloseAsync(WebSocketCloseStatus.NormalClosure, "Test complete", CancellationToken.None);