private void WithServerClient <T>(IEnumerable <IEndpoint <T> > endpoints, string path, Action <IWsServer <T>, JsonWsClient> action) { var serverPort = Tcp.FreePort(); using (var server = new MultiEndpointWsServer <T>(NullLogger.Instance, IPAddress.Any, serverPort, endpoints)) { server.Start(); using (var client = new JsonWsClient(Timeout, serverPort, path)) { action(server, client); } } }
public void ServesR3ETelemetryEndpoint() { using var server = new DashboardServer(TestLogger, new DashboardServer.Config(IPAddress.Any, _serverPort)); Assert.True(server.Start(), "Server did not start"); using var client = new JsonWsClient(Timeout, _serverPort, "/r3e"); var telemetry = gtFaker.Generate(); Assert.True(client.ConnectAndWait(), "Client could not connect"); server.Multicast(telemetry); var message = client.NextJson(); Assert.Equal(System.Text.Json.JsonValueKind.Number, message.Path("VersionMajor").ValueKind); Assert.Equal(System.Text.Json.JsonValueKind.Number, message.Path("VersionMinor").ValueKind); }