public async Task ShouldPublishWithUsing()
        {
            // arrange
            string         topic     = Guid.NewGuid().ToString();
            List <Message> messages  = new List <Message>();
            var            processor = new TestMessageProcessor(50, messages);

            host.RegisterMessageProcessor(topic + "TestEvent", processor);

            var settings = publisterSettings.Copy();

            settings.Topic = topic;
            var count = 10;

            // act
            using (var publisher = new DomainEventPublisher(settings, new NullLogger <DomainEventPublisher>())) {
                publisher.Connect();
                for (int i = 0; i < count; i++)
                {
                    var @event = new TestEvent()
                    {
                        IntValue = random.Next(), StringValue = Guid.NewGuid().ToString()
                    };
                    await publisher.PublishAsync(@event).ConfigureAwait(false);
                }
            }

            // assert
            Assert.Equal(count, processor.Messages.Count);
        }