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); } } }
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); } }
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(); }