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); }
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); }
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); }