public static int Main(string[] args)
        {
            AmqpTrace.TraceLevel    = TraceLevel.Output;
            AmqpTrace.TraceListener = Program.WriteTrace;
            Connection.DisableServerCertValidation = true;

            TestAmqpBroker broker = null;

            if (args.Length == 0)
            {
                broker = new TestAmqpBroker(new string[] { LinkTests.AddressString },
                                            string.Join(":", LinkTests.address.User, LinkTests.address.Password), null, null);
                broker.Start();
            }

            try
            {
                return(TestRunner.RunTests());
            }
            finally
            {
                if (broker != null)
                {
                    broker.Stop();
                }
            }
        }
Beispiel #2
0
        public static int Main(string[] args)
        {
            AmqpTrace.TraceLevel    = TraceLevel.Output;
            AmqpTrace.TraceListener = Program.WriteTrace;
            Connection.DisableServerCertValidation = true;

            TestAmqpBroker broker = null;

            if (args.Length == 0)
            {
                Environment.SetEnvironmentVariable("CoreBroker", "1");
                TestTarget target  = new TestTarget();
                Address    address = target.Address;
                broker = new TestAmqpBroker(new string[] { target.address },
                                            string.Join(":", address.User, address.Password), null, null);
                broker.Start();
            }
            else
            {
                Environment.SetEnvironmentVariable("CoreBroker", "0");
            }

            try
            {
                return(TestRunner.RunTests());
            }
            finally
            {
                if (broker != null)
                {
                    broker.Stop();
                }
            }
        }
Beispiel #3
0
 public void Dispose()
 {
     lock (syncRoot)
     {
         if (--refs == 0)
         {
             broker.Stop();
             broker = null;
         }
     }
 }
        public void AmqpWebSocketTransportTest()
        {
            string address = "ws://localhost:28088";
            var    broker  = new TestAmqpBroker(new string[] { address }, null, null, null);

            try
            {
                broker.Start();

                string queue = "AmqpWebSocketTransportTest";
                broker.AddQueue(queue);

                AmqpConnection connection = AmqpConnection.Factory.OpenConnectionAsync(address).GetAwaiter().GetResult();

                AmqpSession session = connection.CreateSession(new AmqpSessionSettings());
                session.Open();

                SendingAmqpLink sLink = new SendingAmqpLink(session, AmqpUtils.GetLinkSettings(true, queue, SettleMode.SettleOnSend));
                sLink.Open();

                int messageCount = 100;
                for (int i = 0; i < messageCount; i++)
                {
                    AmqpMessage message = AmqpMessage.Create(new AmqpValue()
                    {
                        Value = "message" + i
                    });
                    sLink.SendMessageAsync(message, AmqpConstants.EmptyBinary, AmqpConstants.NullBinary, TimeSpan.FromSeconds(10)).Wait();
                }

                sLink.Close();

                ReceivingAmqpLink rLink = new ReceivingAmqpLink(session, AmqpUtils.GetLinkSettings(false, queue, SettleMode.SettleOnReceive, 100));
                rLink.Open();

                for (int i = 0; i < messageCount; i++)
                {
                    AmqpMessage message2 = rLink.ReceiveMessageAsync(TimeSpan.FromSeconds(60)).GetAwaiter().GetResult();
                    Assert.NotNull(message2);

                    rLink.AcceptMessage(message2, false);
                    message2.Dispose();
                }

                rLink.Close();

                connection.Close();
            }
            finally
            {
                broker.Stop();
            }
        }
Beispiel #5
0
        public TestAmqpBrokerFixture()
        {
            lock (syncRoot)
            {
                if (++refs == 1)
                {
                    broker = new TestAmqpBroker(new string[] { address, wsAddress }, "guest:guest", null, null);
#if !WINDOWS_UWP    // UWP requires external test broker
                    if (Process.GetProcessesByName("TestAmqpBroker").Length == 0)
#endif
                    {
                        broker.Start();
                    }
                }
            }
        }
Beispiel #6
0
        static void Run(string[] args)
        {
            List<string> endpoints = new List<string>();
            string creds = null;
            string trace = null;
            string sslValue = null;
            string[] queues = null;
            bool parseEndpoint = true;

            for (int i = 0; i < args.Length; i++)
            {
                if (args[i][0] != '/' && parseEndpoint)
                {
                    endpoints.Add(args[i]);
                }
                else
                {
                    parseEndpoint = false;
                    if (args[i].StartsWith("/creds:", StringComparison.OrdinalIgnoreCase))
                    {
                        creds = args[i].Substring(7);
                    }
                    else if (args[i].StartsWith("/trace:", StringComparison.OrdinalIgnoreCase))
                    {
                        trace = args[i].Substring(7);
                    }
                    else if (args[i].StartsWith("/queues:", StringComparison.OrdinalIgnoreCase))
                    {
                        queues = args[i].Substring(8).Split(';');
                    }
                    else if (args[i].StartsWith("/cert:", StringComparison.OrdinalIgnoreCase))
                    {
                        sslValue = args[i].Substring(6);
                    }
                    else
                    {
                        Console.WriteLine("Unknown argument: {0}", args[i]);
                        Usage();
                        return;
                    }
                }
            }

            if (trace != null)
            {
                TraceLevel level = 0;
                switch (trace)
                {
                    case "info":
                        level = TraceLevel.Information;
                        break;
                    case "warn":
                        level = TraceLevel.Warning;
                        break;
                    case "error":
                        level = TraceLevel.Error;
                        break;
                    case "verbose":
                        level = TraceLevel.Verbose;
                        break;
                    case "frame":
                        level = TraceLevel.Frame;
                        break;
                    default:
                        Usage();
                        return;
                }

                Trace.TraceLevel = level;
                Trace.TraceListener = (f, a) => Console.WriteLine(DateTime.Now.ToString("[hh:ss.fff]") + " " + string.Format(f, a));
            }

            var broker = new TestAmqpBroker(endpoints, creds, sslValue, queues);
            broker.Start();

            Console.WriteLine("Broker started. Press the enter key to exit...");
            Console.ReadLine();

            broker.Stop();
            Console.WriteLine("Broker stopped");
        }
Beispiel #7
0
 public AmqpSamples(TestAmqpBrokerFixture testAmqpBrokerFixture)
 {
     addressUri = TestAmqpBrokerFixture.Address;
     broker     = testAmqpBrokerFixture.Broker;
 }
Beispiel #8
0
 public AmqpWebSocketTests(TestAmqpBrokerFixture testAmqpBrokerFixture)
 {
     broker = testAmqpBrokerFixture.Broker;
 }