public void MessageCount_is_zero_when_queue_is_just_created() { var server = new RabbitServer(); using (var model = new FakeModel(server)) { const string queueName = "myQueue"; model.QueueDeclare(queueName); Assert.Equal(0u, model.MessageCount(queueName)); } }
public void MessageCount_returns_the_number_of_messages_in_the_queue() { var server = new RabbitServer(); using (var model = new FakeModel(server)) { const string queueName = "myQueue"; model.QueueDeclare(queueName); model.ExchangeDeclare("my_exchange", ExchangeType.Direct); model.ExchangeBind(queueName, "my_exchange", null); var message = "hello world!"; var encodedMessage = Encoding.ASCII.GetBytes(message); model.BasicPublish("my_exchange", null, new BasicProperties(), encodedMessage); Assert.Equal(1u, model.MessageCount(queueName)); } }
public void MessageCount_returns_the_number_of_non_consumed_messages_in_the_queue() { var server = new RabbitServer(); using (var model = new FakeModel(server)) { const string queueName = "myQueue"; model.QueueDeclare(queueName); model.ExchangeDeclare("my_exchange", ExchangeType.Direct); model.ExchangeBind(queueName, "my_exchange", null); for (var i = 0; i < 10; i++) { var message = $"hello world: {i}"; var encodedMessage = Encoding.ASCII.GetBytes(message); model.BasicPublish("my_exchange", null, new BasicProperties(), encodedMessage); } // Consume 4 messages var consumer = new EventingBasicConsumer(model); var consumptionCount = 0; consumer.Received += (s, e) => { if (consumptionCount >= 4) { return; } model.BasicAck(e.DeliveryTag, false); consumptionCount++; }; model.BasicConsume(queueName, true, consumer); Assert.Equal(6u, model.MessageCount(queueName)); } }