Example #1
0
        public void TcpTransportTest()
        {
            const string localHost = "localhost";
            const int    port      = 30888;

            TransportTestContext serverContext = new TransportTestContext()
            {
                MaxNumber         = TestMaxNumber,
                TransportSettings = AmqpUtils.GetTcpSettings(localHost, port, true)
            };

            TransportTestContext clientContext = new TransportTestContext()
            {
                MaxNumber         = TestMaxNumber,
                TransportSettings = AmqpUtils.GetTcpSettings(localHost, port, false)
            };

            Thread listenerThread = new Thread(new ParameterizedThreadStart(ListenerThread));

            listenerThread.Start(serverContext);

            Thread initiatorThread = new Thread(new ParameterizedThreadStart(InitiatorThread));

            initiatorThread.Start(clientContext);

            listenerThread.Join();
            initiatorThread.Join();

            Trace.WriteLine("TCP transport test completed.");
            Assert.IsTrue(clientContext.Success);
            Assert.IsTrue(serverContext.Success);
        }
Example #2
0
            public void RunClientTest(TransportTestContext testContext)
            {
                this.testContext         = testContext;
                this.testContext.Success = true;
                this.transport           = EstablistClientTransport(testContext.TransportSettings);

                try
                {
                    for (int i = 1; i < this.testContext.MaxNumber; ++i)
                    {
                        this.Write(i);
                        int num = this.Read();
                        if (num != i * 2)
                        {
                            Trace.WriteLine(string.Format("Wrote {0} but got {1}", i, num));
                            this.testContext.Success = false;
                            break;
                        }
                    }
                }
                catch (Exception exception)
                {
                    Trace.WriteLine("Client got exception: " + exception.ToString());
                    this.testContext.Success = false;
                }

                this.transport.Close();
                Trace.WriteLine("Done client.");
            }
Example #3
0
        public void TcpTransportTest()
        {
            const string localHost = "localhost";
            const int port = 30888;

            TransportTestContext serverContext = new TransportTestContext()
            {
                MaxNumber = TestMaxNumber,
                TransportSettings = AmqpUtils.GetTcpSettings(localHost, port, true)
            };

            TransportTestContext clientContext = new TransportTestContext()
            {
                MaxNumber = TestMaxNumber,
                TransportSettings = AmqpUtils.GetTcpSettings(localHost, port, false)
            };

            Thread listenerThread = new Thread(new ParameterizedThreadStart(ListenerThread));
            listenerThread.Start(serverContext);

            Thread initiatorThread = new Thread(new ParameterizedThreadStart(InitiatorThread));
            initiatorThread.Start(clientContext);

            listenerThread.Join();
            initiatorThread.Join();

            Debug.WriteLine("TCP transport test completed.");
            Assert.True(clientContext.Success);
            Assert.True(serverContext.Success);
        }
Example #4
0
            public void RunServerTest(TransportTestContext testContext)
            {
                this.testContext         = testContext;
                this.testContext.Success = true;
                this.transport           = AcceptServerTransport(testContext.TransportSettings);

                try
                {
                    int expect = 1;
                    while (expect > 0)
                    {
                        int num = this.Read();
                        if (num == 0)
                        {
                            if (expect < this.testContext.MaxNumber)
                            {
                                Trace.WriteLine(string.Format("Got eof before finishing all numbers (expect={0})", expect));
                                this.testContext.Success = false;
                            }

                            break;
                        }
                        else if (num != expect)
                        {
                            Trace.WriteLine(string.Format("Expect {0} but got {1}", expect, num));
                            this.testContext.Success = false;
                            break;
                        }

                        this.Write(expect * 2);
                        ++expect;
                    }
                }
                catch (Exception exception)
                {
                    Trace.WriteLine("Server got exception: " + exception.ToString());
                    this.testContext.Success = false;
                }

                this.transport.Close();
                Trace.WriteLine("Done server.");
            }
Example #5
0
            public void RunClientTest(TransportTestContext testContext)
            {
                this.testContext = testContext;
                this.testContext.Success = true;
                this.transport = EstablistClientTransport(testContext.TransportSettings);

                try
                {
                    for (int i = 1; i < this.testContext.MaxNumber; ++i)
                    {
                        this.Write(i);
                        int num = this.Read();
                        if (num != i * 2)
                        {
                            Debug.WriteLine(string.Format("Wrote {0} but got {1}", i, num));
                            this.testContext.Success = false;
                            break;
                        }
                    }
                }
                catch(Exception exception)
                {
                    Debug.WriteLine("Client got exception: " + exception.ToString());
                    this.testContext.Success = false;
                }

                this.transport.Close();
                Debug.WriteLine("Done client.");
            }
Example #6
0
            public void RunServerTest(TransportTestContext testContext)
            {
                this.testContext = testContext;
                this.testContext.Success = true;
                this.transport = AcceptServerTransport(testContext.TransportSettings);

                try
                {
                    int expect = 1;
                    while (expect > 0)
                    {
                        int num = this.Read();
                        if (num == 0)
                        {
                            if (expect < this.testContext.MaxNumber)
                            {
                                Debug.WriteLine(string.Format("Got eof before finishing all numbers (expect={0})", expect));
                                this.testContext.Success = false;
                            }

                            break;
                        }
                        else if (num != expect)
                        {
                            Debug.WriteLine(string.Format("Expect {0} but got {1}", expect, num));
                            this.testContext.Success = false;
                            break;
                        }

                        this.Write(expect * 2);
                        ++expect;
                    }
                }
                catch (Exception exception)
                {
                    Debug.WriteLine("Server got exception: " + exception.ToString());
                    this.testContext.Success = false;
                }

                this.transport.Close();
                Debug.WriteLine("Done server.");
            }