public async Task WhenSendingMultipleSequentialMessageInNonStrictModeThenGetsAckForAll()
        {
            IMessageControlIdGenerator generator = DefaultMessageControlIdGenerator.Instance;

            await using var client = await MllpClient.Create(
                            IPAddress.Loopback.ToString(),
                            Port,
                            strict : false).ConfigureAwait(false);

            var tasks = Enumerable.Repeat(false, 300)
                        .Select(
                async _ =>
            {
                var request = new QBP_Q11();
                request.MSH.MessageControlID.Value = generator.NextId();
                var response =
                    // ReSharper disable once AccessToDisposedClosure
                    await client.Send(request).ConfigureAwait(false);
                return(response.Message is ACK);
            });

            var results = await Task.WhenAll(tasks).ConfigureAwait(false);

            Assert.All(results, Assert.True);
        }
        public async Task WhenSendingMessageThenGetsAck()
        {
            ClientConnectionDetails connectionDetails = new ClientConnectionDetails("http://localhost", 8080);
            var connectionFactory = new DefaultHttpConnectionFactory(new Uri("http://localhost:8080"));
            var client            = new TestTransaction(connectionFactory.Get(), new PipeParser(), connectionDetails);
            var request           = new QBP_Q11();
            var response          = await client.Send(request).ConfigureAwait(false);

            Assert.NotNull(response);
        }
Exemple #3
0
        public async Task WhenSendingMessageThenGetsAck()
        {
            ClientConnectionDetails clientConnectionDetails = new ClientConnectionDetails(new IPEndPoint(IPAddress.Loopback, _port));

            var connectionFactory = new DefaultMllpConnectionFactory();
            var client            = new TestTransaction(connectionFactory.GetClientConnection(clientConnectionDetails), new PipeParser(), clientConnectionDetails);
            var request           = new QBP_Q11();
            var response          = await client.Send(request);

            Assert.NotNull(response);
        }
        public async Task WhenSendingMessageThenGetsAck()
        {
            IMessageControlIdGenerator generator = DefaultMessageControlIdGenerator.Instance;
            var client = await MllpClient.Create(IPAddress.Loopback.ToString(), Port);

            var request = new QBP_Q11();

            request.MSH.MessageControlID.Value = generator.NextId();
            var response = await client.Send(request).ConfigureAwait(false);

            Assert.NotNull(response);
        }
Exemple #5
0
        public async Task WhenSendingMessageThenGetsAck(Encoding encoding)
        {
            using var connectionFactory = new DefaultHttpConnectionFactory(
                      new Uri("http://localhost:8080"),
                      new PipeParser(),
                      encoding,
                      httpClientHandlerFactory: _server.CreateClientHandler);
            var client = await connectionFactory.Get().ConfigureAwait(false);

            var request  = new QBP_Q11();
            var response = await client.Send(request).ConfigureAwait(false);

            Assert.NotNull(response);
        }
        public async Task WhenSendingMessageThenGetsAck()
        {
            var client = await MllpClient.Create(
                IPAddress.Loopback.ToString(),
                _port,
                clientCertificates : _cert,
                userCertificateValidationCallback :
                UserCertificateValidationCallback);

            var request = new QBP_Q11();

            request.MSH.MessageControlID.Value = "test";
            var response = await client.Send(request).ConfigureAwait(false);

            Assert.NotNull(response);
        }
        public async Task WhenSendingMultipleParallelMessageThenGetsAckForAll()
        {
            IMessageControlIdGenerator generator = DefaultMessageControlIdGenerator.Instance;

            var tasks = Enumerable.Repeat(false, 5)
                        .Select(
                async _ =>
            {
                await using var client = await MllpClient.Create(
                                IPAddress.Loopback.ToString(),
                                Port).ConfigureAwait(false);
                var request = new QBP_Q11();
                request.MSH.MessageControlID.Value = generator.NextId();
                var response =
                    await client.Send(request).ConfigureAwait(false);
                return(response?.Message is ACK);
            });

            var results = await Task.WhenAll(tasks).ConfigureAwait(false);

            Assert.All(results, Assert.True);
        }