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);
                }
            }
        }
Пример #2
0
        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);
        }