This commit is contained in:
Stef Heyenrath
2026-02-11 08:10:52 +01:00
parent 842a4e0aeb
commit cbd73eed0b
7 changed files with 10 additions and 74 deletions

View File

@@ -97,10 +97,6 @@ internal class WebSocketResponseProvider : IResponseProvider
{ {
await HandleCustomAsync(wsContext, _builder.MessageHandler).ConfigureAwait(false); await HandleCustomAsync(wsContext, _builder.MessageHandler).ConfigureAwait(false);
} }
else if (_builder.MessageSequence != null)
{
await HandleSequenceAsync(wsContext, _builder.MessageSequence).ConfigureAwait(false);
}
else else
{ {
// Default: keep connection open until client closes // Default: keep connection open until client closes
@@ -216,11 +212,6 @@ internal class WebSocketResponseProvider : IResponseProvider
} }
} }
private async Task HandleSequenceAsync(WireMockWebSocketContext context, WebSocketMessageSequence sequence)
{
await sequence.ExecuteAsync(context).ConfigureAwait(false);
}
private async Task HandleProxyAsync(WireMockWebSocketContext context, ProxyAndRecordSettings settings) private async Task HandleProxyAsync(WireMockWebSocketContext context, ProxyAndRecordSettings settings)
{ {
using var clientWebSocket = new ClientWebSocket(); using var clientWebSocket = new ClientWebSocket();

View File

@@ -1,7 +1,6 @@
// Copyright © WireMock.Net // Copyright © WireMock.Net
using System; using System;
using System.Collections.Generic;
using System.Threading.Tasks; using System.Threading.Tasks;
using Stef.Validation; using Stef.Validation;
using WireMock.Settings; using WireMock.Settings;
@@ -23,9 +22,6 @@ internal class WebSocketBuilder : IWebSocketBuilder
/// <inheritdoc /> /// <inheritdoc />
public Func<WebSocketMessage, IWebSocketContext, Task>? MessageHandler { get; private set; } public Func<WebSocketMessage, IWebSocketContext, Task>? MessageHandler { get; private set; }
/// <inheritdoc />
public WebSocketMessageSequence? MessageSequence { get; private set; }
/// <inheritdoc /> /// <inheritdoc />
public ProxyAndRecordSettings? ProxySettings { get; private set; } public ProxyAndRecordSettings? ProxySettings { get; private set; }
@@ -65,7 +61,7 @@ internal class WebSocketBuilder : IWebSocketBuilder
return this; return this;
} }
public IWebSocketBuilder WithMessage(Action<IWebSocketMessageBuilder> configure) public IWebSocketBuilder SendMessage(Action<IWebSocketMessageBuilder> configure)
{ {
Guard.NotNull(configure); Guard.NotNull(configure);
var messageBuilder = new WebSocketMessageBuilder(); var messageBuilder = new WebSocketMessageBuilder();
@@ -82,7 +78,7 @@ internal class WebSocketBuilder : IWebSocketBuilder
}); });
} }
public IWebSocketBuilder WithMessages(Action<IWebSocketMessagesBuilder> configure) public IWebSocketBuilder SendMessages(Action<IWebSocketMessagesBuilder> configure)
{ {
Guard.NotNull(configure); Guard.NotNull(configure);
var messagesBuilder = new WebSocketMessagesBuilder(); var messagesBuilder = new WebSocketMessagesBuilder();
@@ -109,15 +105,6 @@ internal class WebSocketBuilder : IWebSocketBuilder
return this; return this;
} }
public IWebSocketBuilder WithMessageSequence(Action<IWebSocketMessageSequenceBuilder> configure)
{
var sequenceBuilder = new WebSocketMessageSequenceBuilder();
configure(sequenceBuilder);
MessageSequence = sequenceBuilder.Build();
IsEcho = false;
return this;
}
public IWebSocketBuilder WithBroadcast() public IWebSocketBuilder WithBroadcast()
{ {
IsBroadcast = true; IsBroadcast = true;

View File

@@ -1,14 +0,0 @@
// Copyright © WireMock.Net
using System.Threading.Tasks;
namespace WireMock.WebSockets;
// Placeholder classes for future implementation
internal class WebSocketMessageSequence
{
public Task ExecuteAsync(WireMockWebSocketContext context)
{
return Task.CompletedTask;
}
}

View File

@@ -1,11 +0,0 @@
// Copyright © WireMock.Net
namespace WireMock.WebSockets;
internal class WebSocketMessageSequenceBuilder : IWebSocketMessageSequenceBuilder
{
public WebSocketMessageSequence Build()
{
return new WebSocketMessageSequence();
}
}

View File

@@ -28,14 +28,14 @@ public interface IWebSocketBuilder
/// </summary> /// </summary>
/// <param name="configure">Action to configure the message</param> /// <param name="configure">Action to configure the message</param>
[PublicAPI] [PublicAPI]
IWebSocketBuilder WithMessage(Action<IWebSocketMessageBuilder> configure); IWebSocketBuilder SendMessage(Action<IWebSocketMessageBuilder> configure);
/// <summary> /// <summary>
/// Configure and send multiple messages in response to any received message /// Configure and send multiple messages in response to any received message
/// </summary> /// </summary>
/// <param name="configure">Action to configure the messages</param> /// <param name="configure">Action to configure the messages</param>
[PublicAPI] [PublicAPI]
IWebSocketBuilder WithMessages(Action<IWebSocketMessagesBuilder> configure); IWebSocketBuilder SendMessages(Action<IWebSocketMessagesBuilder> configure);
/// <summary> /// <summary>
/// Handle incoming WebSocket messages /// Handle incoming WebSocket messages
@@ -43,12 +43,6 @@ public interface IWebSocketBuilder
[PublicAPI] [PublicAPI]
IWebSocketBuilder WithMessageHandler(Func<WebSocketMessage, IWebSocketContext, Task> handler); IWebSocketBuilder WithMessageHandler(Func<WebSocketMessage, IWebSocketContext, Task> handler);
/// <summary>
/// Define a sequence of messages to send
/// </summary>
[PublicAPI]
IWebSocketBuilder WithMessageSequence(Action<IWebSocketMessageSequenceBuilder> configure);
/// <summary> /// <summary>
/// Enable broadcast mode for this mapping /// Enable broadcast mode for this mapping
/// </summary> /// </summary>

View File

@@ -1,11 +0,0 @@
// Copyright © WireMock.Net
namespace WireMock.WebSockets;
/// <summary>
/// WebSocket Message Sequence Builder interface (placeholder for future implementation)
/// </summary>
public interface IWebSocketMessageSequenceBuilder
{
// Future: Methods for building message sequences
}

View File

@@ -72,7 +72,7 @@ public class WebSocketIntegrationTests(ITestOutputHelper output)
) )
.RespondWith(Response.Create() .RespondWith(Response.Create()
.WithWebSocket(ws => ws .WithWebSocket(ws => ws
.WithMessage(m => m.WithText(responseMessage)) .SendMessage(m => m.WithText(responseMessage))
) )
); );
@@ -117,7 +117,7 @@ public class WebSocketIntegrationTests(ITestOutputHelper output)
) )
.RespondWith(Response.Create() .RespondWith(Response.Create()
.WithWebSocket(ws => ws .WithWebSocket(ws => ws
.WithMessage(m => m.WithText(responseMessage)) .SendMessage(m => m.WithText(responseMessage))
) )
); );
@@ -161,7 +161,7 @@ public class WebSocketIntegrationTests(ITestOutputHelper output)
) )
.RespondWith(Response.Create() .RespondWith(Response.Create()
.WithWebSocket(ws => ws .WithWebSocket(ws => ws
.WithMessage(m => m.WithBytes(responseBytes)) .SendMessage(m => m.WithBytes(responseBytes))
) )
); );
@@ -207,7 +207,7 @@ public class WebSocketIntegrationTests(ITestOutputHelper output)
) )
.RespondWith(Response.Create() .RespondWith(Response.Create()
.WithWebSocket(ws => ws .WithWebSocket(ws => ws
.WithMessage(m => m.WithBytes(responseBytes)) .SendMessage(m => m.WithBytes(responseBytes))
) )
); );
@@ -258,7 +258,7 @@ public class WebSocketIntegrationTests(ITestOutputHelper output)
) )
.RespondWith(Response.Create() .RespondWith(Response.Create()
.WithWebSocket(ws => ws .WithWebSocket(ws => ws
.WithMessage(m => m.WithJson(responseData)) .SendMessage(m => m.WithJson(responseData))
) )
); );
@@ -311,7 +311,7 @@ public class WebSocketIntegrationTests(ITestOutputHelper output)
) )
.RespondWith(Response.Create() .RespondWith(Response.Create()
.WithWebSocket(ws => ws .WithWebSocket(ws => ws
.WithMessage(m => m.WithJson(responseData)) .SendMessage(m => m.WithJson(responseData))
) )
); );