public virtual void Should_receive_reply_from_server_200b_messages() { //arrange StartServer(); //uses an "echo server" callback StartClient(); var messageLength = 200; var sends = 3; //act for (var i = 0; i < sends; i++) { Send(new byte[messageLength]); } WaitUntilNMessagesReceived(sends); //assert Assert.Equal(0, ClientExceptions.Length); // "Did not expect to find any exceptions on client, instead found: {0}", ClientExceptions.Length Assert.Equal(0, ServerExceptions.Length); // "Did not expect to find any exceptions on Server, instead found: {0}", ServerExceptions.Length) Assert.Equal(sends, ClientSendBuffer.Count); Assert.Equal(sends, ClientReceiveBuffer.Count); var outsizedMessages = ClientReceiveBuffer.Select(x => x.Length != messageLength).ToList(); Assert.True(ClientReceiveBuffer.DequeueAll().All(x => x.Length == messageLength)); }
protected void StartClient() { if (!_server.IsOpen()) { throw new HeliosException("Server is not started yet. Cannot start client yet."); } _client = _clientConnectionFactory.NewConnection(_server.Local); _client.Receive += (data, channel) => { ClientReceiveBuffer.Add(data); }; _client.OnConnection += (address, channel) => channel.BeginReceive(); _client.OnError += (exception, connection) => _clientExecutor.Exceptions.Add(exception); _client.Open(); }
public void Should_receive_reply_from_server_MAX_200b_messages() { //arrange StartServer(); //echo StartClient(); var messageLength = 200; var sends = BufferSize; //act for (var i = 0; i < sends; i++) { Send(new byte[messageLength]); } WaitUntilNMessagesReceived(sends); //assert Assert.AreEqual(0, ClientExceptions.Length, "Did not expect to find any exceptions on client, instead found: {0}", ClientExceptions.Length); Assert.AreEqual(0, ServerExceptions.Length, "Did not expect to find any exceptions on Server, instead found: {0}", ServerExceptions.Length); Assert.AreEqual(sends, ClientSendBuffer.Count); Assert.AreEqual(sends, ClientReceiveBuffer.Count); Assert.IsTrue(ClientReceiveBuffer.DequeueAll().All(x => x.Length == messageLength)); }
public void Should_send_and_receive_64kb_Message() { //arrange StartServer(); //echo StartClient(); var message = TestMessage(1024 * 64); var sends = 1; //act Send(message); WaitUntilNMessagesReceived(sends); //assert Assert.Equal(0, ClientExceptions.Length); Assert.Equal(0, ServerExceptions.Length); Assert.Equal(sends, ClientSendBuffer.Count); Assert.Equal(sends, ClientReceiveBuffer.Count); var deliveredMessage = ClientReceiveBuffer.Dequeue(); Assert.True(message.SequenceEqual(deliveredMessage.Buffer)); }
public void Should_send_and_receive_64kb_Message() { //arrange StartServer(); //echo StartClient(); var message = TestMessage(1024 * 64); var sends = 1; //act Send(message); WaitUntilNMessagesReceived(sends); //assert Assert.AreEqual(0, ClientExceptions.Length, "Did not expect to find any exceptions on client, instead found: {0}", ClientExceptions.Length); Assert.AreEqual(0, ServerExceptions.Length, "Did not expect to find any exceptions on Server, instead found: {0}", ServerExceptions.Length); Assert.AreEqual(sends, ClientSendBuffer.Count); Assert.AreEqual(sends, ClientReceiveBuffer.Count); var deliveredMessage = ClientReceiveBuffer.Dequeue(); Assert.IsTrue(message.SequenceEqual(deliveredMessage.Buffer)); }