Skip to content
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Apply suggestions from code review
Co-authored-by: Miha Zupan <[email protected]>
  • Loading branch information
2 people authored and github-actions committed Dec 12, 2022
commit 84d3b4a0e64bdbf67f1b45d43462a160214bf3f6
38 changes: 18 additions & 20 deletions src/libraries/System.Net.WebSockets.Client/tests/DeflateTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -88,23 +88,22 @@ await LoopbackServer.CreateClientAndServerAsync(async uri =>
}

[ConditionalFact(nameof(WebSocketsSupported))]
public async Task ThrowWhenContinuationWithDifferentCompressionFlags()
public async Task ThrowsWhenContinuationHasDifferentCompressionFlags()
{
await LoopbackServer.CreateClientAndServerAsync(async uri =>
{
using (var cws = new ClientWebSocket())
using (var cts = new CancellationTokenSource(TimeOutMilliseconds))
{
cws.Options.DangerousDeflateOptions = new WebSocketDeflateOptions();
await ConnectAsync(cws, uri, cts.Token);
using var cws = new ClientWebSocket();
using var cts = new CancellationTokenSource(TimeOutMilliseconds);

cws.Options.DangerousDeflateOptions = new WebSocketDeflateOptions();
await ConnectAsync(cws, uri, cts.Token);

await cws.SendAsync(Memory<byte>.Empty, WebSocketMessageType.Text, WebSocketMessageFlags.DisableCompression, default);
Assert.Throws<ArgumentException>("messageFlags", () =>
cws.SendAsync(Memory<byte>.Empty, WebSocketMessageType.Binary, WebSocketMessageFlags.EndOfMessage, default));
}
await cws.SendAsync(Memory<byte>.Empty, WebSocketMessageType.Text, WebSocketMessageFlags.DisableCompression, default);
Assert.Throws<ArgumentException>("messageFlags", () =>
cws.SendAsync(Memory<byte>.Empty, WebSocketMessageType.Binary, WebSocketMessageFlags.EndOfMessage, default));
}, server => server.AcceptConnectionAsync(async connection =>
{
Dictionary<string, string> headers = await LoopbackHelper.WebSocketHandshakeAsync(connection);
await LoopbackHelper.WebSocketHandshakeAsync(connection);
}), new LoopbackServer.Options { WebSocketEndpoint = true });
}

Expand All @@ -114,19 +113,18 @@ public async Task SendHelloWithDisableCompression()
byte[] bytes = "Hello"u8.ToArray();
await LoopbackServer.CreateClientAndServerAsync(async uri =>
{
using (var cws = new ClientWebSocket())
using (var cts = new CancellationTokenSource(TimeOutMilliseconds))
{
cws.Options.DangerousDeflateOptions = new WebSocketDeflateOptions();
await ConnectAsync(cws, uri, cts.Token);
using var cws = new ClientWebSocket();
using var cts = new CancellationTokenSource(TimeOutMilliseconds);

cws.Options.DangerousDeflateOptions = new WebSocketDeflateOptions();
await ConnectAsync(cws, uri, cts.Token);

WebSocketMessageFlags flags = WebSocketMessageFlags.DisableCompression | WebSocketMessageFlags.EndOfMessage;
await cws.SendAsync(bytes, WebSocketMessageType.Text, flags, cts.Token);
}
WebSocketMessageFlags flags = WebSocketMessageFlags.DisableCompression | WebSocketMessageFlags.EndOfMessage;
await cws.SendAsync(bytes, WebSocketMessageType.Text, flags, cts.Token);
}, server => server.AcceptConnectionAsync(async connection =>
{
var buffer = new byte[bytes.Length];
Dictionary<string, string> headers = await LoopbackHelper.WebSocketHandshakeAsync(connection);
await LoopbackHelper.WebSocketHandshakeAsync(connection);
using WebSocket websocket = WebSocket.CreateFromStream(connection.Stream, true, null, TimeSpan.FromSeconds(30));
Assert.True(websocket.State == WebSocketState.Open || websocket.State == WebSocketState.CloseSent);
await websocket.ReceiveAsync(new ArraySegment<byte>(buffer), CancellationToken.None);
Expand Down