Ejemplo n.º 1
0
        public void ReceiveSentMessages()
        {
            var server = new RabbitServer();

            ConfigureQueueBinding(server, "test_server", "hello_queue");

            SendMessage(server, "test_server", "Hello my name is, Aluwani");

            var connectionFactory = new MockConnectionFactory(server);

            using (var connection = connectionFactory.CreateConnection())
            {
                using (var channel = connection.CreateModel())
                {
                    // First message
                    var message = channel.BasicGet("hello_queue", false);

                    //check if massage is not null
                    Assert.That(message, Is.Not.Null);

                    //get message
                    var messageBody = Encoding.ASCII.GetString(message.Body);

                    //compare message
                    Assert.That(messageBody, Is.EqualTo("Hello my name is, Aluwani"));

                    //get if message is delevered
                    channel.BasicAck(message.DeliveryTag, multiple: false);
                }
            }
        }
Ejemplo n.º 2
0
        public static void SendMessage(RabbitServer rabbitServer, string exchange, string message, IBasicProperties basicProperties = null)
        {
            var connectionFactory = new MockConnectionFactory(rabbitServer);

            using (var connection = connectionFactory.CreateConnection())
                using (var channel = connection.CreateModel())
                {
                    var messageBody = Encoding.ASCII.GetBytes(message);
                    channel.BasicPublish(exchange: exchange, routingKey: null, mandatory: false, basicProperties: basicProperties, body: messageBody);
                }
        }
Ejemplo n.º 3
0
        public void ConfigureQueueBinding(RabbitServer rabbitServer, string exchangeName, string queueName)
        {
            var connectionFactory = new MockConnectionFactory(rabbitServer);

            using (var connection = connectionFactory.CreateConnection())
                using (var channel = connection.CreateModel())
                {
                    channel.QueueDeclare(queue: queueName, durable: false, exclusive: false, autoDelete: false, arguments: null);
                    channel.ExchangeDeclare(exchange: exchangeName, type: ExchangeType.Direct);

                    channel.QueueBind(queueName, exchangeName, null);
                }
        }
        public async Task ChannelsSetup()
        {
            var connectionInitializer = new MockConnectionInitializer();
            var redactor          = new MockRedactor();
            var connectionFactory = new MockConnectionFactory();

            _channelPool = new ChannelConnectionPool(connectionInitializer, connectionFactory,
                                                     new DefaultConnectionPoolScaleController(redactor,
                                                                                              NullLogger <DefaultConnectionPoolScaleController> .Instance),
                                                     redactor, NullLogger <ChannelConnectionPool> .Instance, 1024)
            {
                MinimumSize = 2,
                MaximumSize = 2
            };

            await _channelPool.InitializeAsync();
        }