test: add E2E WebSocket transport tests (connect, pub/sub round-trip)
This commit is contained in:
@@ -0,0 +1,37 @@
|
||||
using NATS.Client.Core;
|
||||
|
||||
namespace NATS.E2E.Tests.Infrastructure;
|
||||
|
||||
public sealed class WebSocketServerFixture : IAsyncLifetime
|
||||
{
|
||||
private NatsServerProcess _server = null!;
|
||||
|
||||
public int Port => _server.Port;
|
||||
public int WsPort { get; private set; }
|
||||
|
||||
public async Task InitializeAsync()
|
||||
{
|
||||
WsPort = NatsServerProcess.AllocateFreePort();
|
||||
|
||||
var config = $$"""
|
||||
websocket {
|
||||
listen: 127.0.0.1:{{WsPort}}
|
||||
no_tls: true
|
||||
}
|
||||
""";
|
||||
|
||||
_server = NatsServerProcess.WithConfig(config);
|
||||
await _server.StartAsync();
|
||||
}
|
||||
|
||||
public async Task DisposeAsync()
|
||||
{
|
||||
await _server.DisposeAsync();
|
||||
}
|
||||
|
||||
public NatsConnection CreateNatsClient()
|
||||
=> new(new NatsOpts { Url = $"nats://127.0.0.1:{Port}" });
|
||||
}
|
||||
|
||||
[CollectionDefinition("E2E-WebSocket")]
|
||||
public class WebSocketCollection : ICollectionFixture<WebSocketServerFixture>;
|
||||
Reference in New Issue
Block a user