public async Task CanCreateQueue_WithMaxLengthAndOverflowModeRejectPublish() { var options = new CreateQueueOptionsBuilder(QueueType.Classic) .WithMaxLength(1) .WithOverflowBehaviour(OverflowBehaviour.RejectPublish) .Build(); await _serviceClient.CreateQueueAsync(_queueName, options); await _serviceClient.EnqueueMessageAsync(_queueName, "some-message-1"); await Task.Delay(TimeSpan.FromMilliseconds(100)); (await _serviceClient.GetMessageCountInQueueAsync(_queueName)).Should().Be(1); await _serviceClient.EnqueueMessageAsync(_queueName, "some-message-2"); await Task.Delay(TimeSpan.FromMilliseconds(100)); (await _serviceClient.GetMessageCountInQueueAsync(_queueName)).Should().Be(1); using var channelContainer = await _rabbitMqConnectionManager.AcquireChannel(ChannelType.Consumer); var message = Encoding.UTF8.GetString(channelContainer.Channel.BasicGet(_queueName, true).Body.Span); message.Should().Be("\"some-message-1\""); }
public async Task TearDown() { if (_queueName != null) { try { using var channelContainer = await _rabbitMqConnectionManager.AcquireChannel(ChannelType.Publish); channelContainer.Channel.QueueDelete(_queueName, false, false); } catch (Exception) { // Ignored } } _rabbitMqConnectionManager.Dispose(); }