public void BasicCancel_works_for_asynchronous_consumers() { var server = new RabbitServer(); using (var model = new FakeModel(server)) { model.QueueDeclare("my_queue"); var expectedConsumerTag = "foo"; var consumer = new FakeAsyncDefaultBasicConsumer(model); model.BasicConsume("my_queue", false, expectedConsumerTag, consumer); Assert.True(consumer.IsRunning); model.BasicCancel(expectedConsumerTag); Assert.False(consumer.IsRunning); Assert.Equal(expectedConsumerTag, consumer.LastCancelOkConsumerTag); } }
public void BasicCancel_removes_a_consumer() { var server = new RabbitServer(); using (var model = new FakeModel(server)) { model.QueueDeclare("my_queue"); var expectedConsumerTag = "foo"; var actualConsumerTag = ""; var consumer = new EventingBasicConsumer(model) { ConsumerTag = expectedConsumerTag }; consumer.Unregistered += (s, e) => actualConsumerTag = e.ConsumerTag; model.BasicConsume("my_queue", false, expectedConsumerTag, consumer); Assert.True(consumer.IsRunning); model.BasicCancel(expectedConsumerTag); Assert.False(consumer.IsRunning); Assert.Equal(expectedConsumerTag, actualConsumerTag); } }