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));
        }
Exemple #2
0
 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));
        }
Exemple #4
0
        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));
        }
Exemple #5
0
        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));
        }