public static void DisposeWhenConnectionIsNotCreated()
        {
            var model = new Mock <IModel>(MockBehavior.Strict);

            model.Setup(_ => _.Dispose());

            var connection = new Mock <IConnection>(MockBehavior.Strict);

            connection.Setup(_ => _.CreateModel()).Returns(model.Object);
            connection.Setup(_ => _.Dispose());

            var connectionFactory = new Mock <IConnectionFactory>(MockBehavior.Strict);

            connectionFactory.Setup(_ => _.CreateConnection()).Returns(connection.Object);

            using (var sender = new RabbitSender("name", connectionFactory.Object,
                                                 "exchange", "routingKey", "routingKeyHeaderName", false))
            {
                _ = sender.Channel;
            }

            connectionFactory.VerifyAll();
            connection.VerifyAll();
            model.VerifyAll();
        }
        public static void Create()
        {
            var model = new Mock <IModel>(MockBehavior.Strict);

            model.Setup(_ => _.Dispose());

            var connection = new Mock <IConnection>(MockBehavior.Strict);

            connection.Setup(_ => _.CreateModel()).Returns(model.Object);
            connection.Setup(_ => _.Dispose());

            var connectionFactory = new Mock <IConnectionFactory>(MockBehavior.Strict);

            connectionFactory.Setup(_ => _.CreateConnection()).Returns(connection.Object);

            using (var sender = new RabbitSender("name", connectionFactory.Object,
                                                 "exchange", "routingKey", "routingKeyHeaderName", false))
            {
                sender.Name.Should().Be("name");
                sender.Exchange.Should().Be("exchange");
                sender.RoutingKey.Should().Be("routingKey");
                sender.RoutingKeyHeaderName.Should().Be("routingKeyHeaderName");
                sender.Persistent.Should().Be(false);
                sender.Connection.Should().Be(connection.Object);
                sender.Channel.Should().Be(model.Object);
            }

            connectionFactory.VerifyAll();
            connection.VerifyAll();
            model.VerifyAll();
        }
Esempio n. 3
0
        static void Main(string[] args)
        {
            Console.WriteLine("Starting RabbitMQ Message Sender");
            Console.WriteLine();
            Console.WriteLine();

            var    messageCount = 0;
            string routingKey;
            var    sender      = new RabbitSender();
            var    messageType = new Random().Next(0, 3);

            Console.WriteLine("Press enter key to send a message");
            while (true)
            {
                var key = Console.ReadKey();
                if (key.Key == ConsoleKey.Q)
                {
                    break;
                }

                if (key.Key == ConsoleKey.Enter)
                {
                    //Used to generate a random routing key so server 1,2 or no one will get the message
                    routingKey = new Random().Next(0, 4).ToString(CultureInfo.InvariantCulture);

                    var message = string.Format("Message: {0} - Routing Key: {1}", messageCount, routingKey);
                    Console.WriteLine("Sending - {0}", message);

                    sender.Send(message, routingKey);
                    messageCount++;
                }
            }

            Console.ReadLine();
        }
Esempio n. 4
0
        private void sendButton_Click(object sender, EventArgs e)
        {
            responsesTextBox.Text = string.Empty;
            Application.DoEvents();

            var rabbitConnectionSettings = new Shared.RabbitConnectionSettings
            {
                HostName = "localhost",
                Password = "******",
                Username = "******"
            };

            const string quoteExchangeName = "HealthInsuranceQuoteExchange";

            var routingKeys = new List <string> {
                "ProductId", _request.Product.ToString()
            };

            AddText("Requesting quote for product: " + _request.Product.ToString());
            using (var client = new RabbitSender <Shared.Contracts.QuoteRequest, Shared.Contracts.QuoteResponse>(rabbitConnectionSettings, quoteExchangeName))
            {
                var responses = client.Send(_request, routingKeys, new TimeSpan(0, 0, _request.TimeoutSeconds), _request.MinimumResponses);
                AddText(string.Format("There are: {0} responses", responses.Count()));
                foreach (var response in responses)
                {
                    AddText(string.Format("Company: {0} - Price: {1}", response.Company, response.Price));
                }
            }
        }
Esempio n. 5
0
        private static void Main(string[] args)
        {
            Console.WriteLine("Inicializando publicador de mensajes RabbitMQ");
            Console.WriteLine();
            Console.WriteLine();

            var messageCount = 0;
            var menssageText = "";
            var sender       = new RabbitSender();

            Console.WriteLine("Presiona enter para enviar un mensaje");
            while (true)
            {
                var key = Console.ReadKey();

                menssageText += key.KeyChar;

                if (key.Key == ConsoleKey.Enter)
                {
                    var message = $"Mensaje: {messageCount} - {menssageText}";
                    Console.WriteLine($"Enviando - {message}");
                    sender.Send(message);
                    messageCount++;
                    menssageText = "";
                }
            }

            Console.ReadLine();
        }
        public static void DisposeWhenChannelAndConnectionAreNotCreated()
        {
            var connectionFactory = new Mock <IConnectionFactory>(MockBehavior.Strict);

            using (var sender = new RabbitSender("name", connectionFactory.Object,
                                                 "exchange", "routingKey", "routingKeyHeaderName", false))
            { }

            connectionFactory.VerifyAll();
        }
Esempio n. 7
0
        static void Main()
        {
            Console.WriteLine("Starting RabbitMQ Message Sender");
            Console.WriteLine();
            Console.WriteLine();

            var messageCount = 0;
            var sender       = new RabbitSender();

            sender.SetupExchangeAndQueue(new List <RabbitMqSetup>
            {
                new RabbitMqSetup
                {
                    Exchange = Exchange,
                    QueueMqs = new List <QueuesMq>
                    {
                        new QueuesMq
                        {
                            Queue      = PubSubQueue1,
                            RoutingKey = "RK"
                        },
                        new QueuesMq
                        {
                            Queue      = PubSubQueue2,
                            RoutingKey = "RK"
                        }
                    }
                }
            });
            Console.WriteLine("Press enter key to send a message");

            while (true)
            {
                var line = Console.ReadLine();
                if (string.IsNullOrEmpty(line))
                {
                    break;
                }

                if (!string.IsNullOrEmpty(line))
                {
                    var message = $"Message: {line} Count:{messageCount}";
                    Console.WriteLine($"Sending - {message}");
                    sender.Send(message, "RK", Exchange);
                    messageCount++;
                }
            }

            Console.ReadLine();
        }
Esempio n. 8
0
        public RabbitServer(DealerConfigParser parser, Action<BrokerResponse> processResponse)
        {
            this.processResponse = processResponse;
            rabbitHost = new RabbitMqHost(
                parser.GetString("MQ.Host", "mq1.amarkets.org"),
                parser.GetString("MQ.ResponseQueueName", "mt4_dealer_response"),
                parser.GetString("MQ.User", "deploy"),
                parser.GetString("MQ.Password", "a6e92c1FEA"),
                ProcessRabbitResponse);

            rabbitSender = new RabbitSender(
                AppConfig.GetStringParam("MQ.Host", "mq1.amarkets.org"),
                AppConfig.GetStringParam("MQ.User", "deploy"),
                AppConfig.GetStringParam("MQ.Password", "a6e92c1FEA"),
                AppConfig.GetStringParam("MQ.RequestQueueName", "mt4_dealer_request"));
        }
Esempio n. 9
0
        public RabbitServer(DealerConfigParser parser, Action <BrokerResponse> processResponse)
        {
            this.processResponse = processResponse;
            rabbitHost           = new RabbitMqHost(
                parser.GetString("MQ.Host", "mq1.amarkets.org"),
                parser.GetString("MQ.ResponseQueueName", "mt4_dealer_response"),
                parser.GetString("MQ.User", "deploy"),
                parser.GetString("MQ.Password", "a6e92c1FEA"),
                ProcessRabbitResponse);

            rabbitSender = new RabbitSender(
                AppConfig.GetStringParam("MQ.Host", "mq1.amarkets.org"),
                AppConfig.GetStringParam("MQ.User", "deploy"),
                AppConfig.GetStringParam("MQ.Password", "a6e92c1FEA"),
                AppConfig.GetStringParam("MQ.RequestQueueName", "mt4_dealer_request"));
        }
        public static async Task SendAsyncWhenOriginatingSystemIsNotNullAndPersistence()
        {
            var message = new SenderMessage("payload");

            message.OriginatingSystem = "OriginatingSystem";

            var properties = new Mock <IBasicProperties>(MockBehavior.Strict);

            properties.SetupSet(_ => _.Headers    = message.Headers);
            properties.SetupSet(_ => _.Persistent = true);

            var model = new Mock <IModel>(MockBehavior.Strict);

            model.Setup(_ => _.Dispose());
            model.Setup(_ => _.CreateBasicProperties()).Returns(properties.Object);
            model.Setup(_ => _.BasicPublish("exchange", It.IsAny <string>(), false, properties.Object, message.BinaryPayload));

            var connection = new Mock <IConnection>(MockBehavior.Strict);

            connection.Setup(_ => _.CreateModel()).Returns(model.Object);
            connection.Setup(_ => _.Dispose());

            var connectionFactory = new Mock <IConnectionFactory>(MockBehavior.Strict);

            connectionFactory.Setup(_ => _.CreateConnection()).Returns(connection.Object);

            using (var sender = new RabbitSender("name", connectionFactory.Object,
                                                 "exchange", "routingKey", "routingKeyHeaderName", true))
            {
                await sender.SendAsync(message, default).ConfigureAwait(false);

                message.OriginatingSystem.Should().Be("OriginatingSystem");
            }

            properties.VerifyAll();
            model.VerifyAll();
            connection.VerifyAll();
            connectionFactory.VerifyAll();
        }
Esempio n. 11
0
        public static void BookTour(string name, string email, int book, string tour)
        {
            RabbitSender.Send(name + ',' + email + ',' + book + ',' + tour);

            //return name + value.ToString(); //just for testing blazor
        }
 public static async Task SendAsyncWhenMessageIsNull()
 {
     using var sender = new RabbitSender("name", Mock.Of <IConnectionFactory>(),
                                         "exchange", "routingKey", "routingKeyHeaderName", false);
     Func <Task> send = async() => await sender.SendAsync(null !, default).ConfigureAwait(false);