Apache.NMS.ActiveMQ.Test.FailoverTransportTest.FailoverTransportSendRequestTest C# (CSharp) Method

FailoverTransportSendRequestTest() private method

private FailoverTransportSendRequestTest ( ) : void
return void
        public void FailoverTransportSendRequestTest()
        {
            Uri uri = new Uri("failover:(mock://localhost:61616)?transport.randomize=false");
            FailoverTransportFactory factory = new FailoverTransportFactory();

            using(ITransport transport = factory.CreateTransport(uri))
            {
                Assert.IsNotNull(transport);
                transport.Command = OnCommand;
                transport.Exception = OnException;

                FailoverTransport failover = transport.Narrow(typeof(FailoverTransport)) as FailoverTransport;
                Assert.IsNotNull(failover);
                Assert.IsFalse(failover.Randomize);

                failover.Resumed = OnResumed;

                transport.Start();
                Thread.Sleep(1000);
                Assert.IsTrue(failover.IsConnected);

                // Ensure the current mock transport has the correct outgoing command handler
                MockTransport mock = transport.Narrow(typeof(MockTransport)) as MockTransport;
                Assert.IsNotNull(mock);
                Assert.AreEqual(61616, mock.RemoteAddress.Port);
                VerifyCommandHandlerSetting(transport, mock);
                mock.OutgoingCommand = OnOutgoingCommand;

                ActiveMQMessage message = new ActiveMQMessage();
                int numMessages = 4;

                for(int i = 0; i < numMessages; ++i)
                {
                    transport.Request(message);
                }

                Thread.Sleep(1000);
                Assert.AreEqual(numMessages, this.sent.Count);
            }
        }