Skip to content

Adds RabbitMQ Bus Level Configuration#9328

Merged
PascalSenn merged 5 commits intomainfrom
pse/adds-rabbitmq-defaults-to-mocha
Mar 8, 2026
Merged

Adds RabbitMQ Bus Level Configuration#9328
PascalSenn merged 5 commits intomainfrom
pse/adds-rabbitmq-defaults-to-mocha

Conversation

@PascalSenn
Copy link
Copy Markdown
Member

No description provided.

Copilot AI review requested due to automatic review settings March 8, 2026 13:55
@github-actions github-actions Bot added the 📚 documentation This issue is about working on our documentation. label Mar 8, 2026
@PascalSenn PascalSenn changed the title Pse/adds rabbitmq defaults to mocha Adds RabbitMQ Bus Level Configuration Mar 8, 2026
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR introduces configurable bus-level RabbitMQ topology defaults (queue/exchange type, durability, auto-delete, arguments) that are applied when Mocha creates/provisions topology resources, and updates envelope parsing to support quorum queue delivery counts.

Changes:

  • Add ConfigureDefaults(...) to the RabbitMQ transport descriptor and plumb defaults into topology creation for queues/exchanges.
  • Implement default application logic for queue/exchange configurations, including compatibility handling for quorum/stream vs auto-delete/exclusive queues.
  • Extend docs and add unit + integration test coverage (including parsing x-delivery-count).

Reviewed changes

Copilot reviewed 14 out of 14 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
website/src/docs/mocha/v1/transports/rabbitmq.md Documents new ConfigureDefaults API and available default properties.
src/Mocha/src/Mocha.Transport.RabbitMQ/Configurations/RabbitMQBusDefaults.cs Adds the defaults container object (Queue/Exchange defaults).
src/Mocha/src/Mocha.Transport.RabbitMQ/Configurations/RabbitMQDefaultQueueOptions.cs Implements queue-default application (queue type, args, durable/auto-delete).
src/Mocha/src/Mocha.Transport.RabbitMQ/Configurations/RabbitMQDefaultExchangeOptions.cs Implements exchange-default application (type, args, durable/auto-delete).
src/Mocha/src/Mocha.Transport.RabbitMQ/Configurations/RabbitMQTransportConfiguration.cs Stores defaults on transport configuration for later use at runtime.
src/Mocha/src/Mocha.Transport.RabbitMQ/Descriptors/IRabbitMQMessagingTransportDescriptor.cs Adds the ConfigureDefaults public API to the descriptor interface.
src/Mocha/src/Mocha.Transport.RabbitMQ/Descriptors/RabbitMQMessagingTransportDescriptor.cs Implements ConfigureDefaults by mutating transport configuration defaults.
src/Mocha/src/Mocha.Transport.RabbitMQ/Topology/RabbitMQMessagingTopology.cs Applies defaults when adding queues/exchanges to topology.
src/Mocha/src/Mocha.Transport.RabbitMQ/RabbitMQMessagingTransport.cs Passes configured defaults into the topology instance.
src/Mocha/src/Mocha.Transport.RabbitMQ/RabbitMQMessageEnvelopeParser.cs Uses quorum x-delivery-count header when present for DeliveryCount.
src/Mocha/test/Mocha.Transport.RabbitMQ.Tests/Topology/RabbitMQBusDefaultsTests.cs Adds unit tests for defaults merging/precedence and compatibility behavior.
src/Mocha/test/Mocha.Transport.RabbitMQ.Tests/Behaviors/BusDefaultsIntegrationTests.cs Adds integration tests verifying provisioning + delivery with quorum defaults.
src/Mocha/test/Mocha.Transport.RabbitMQ.Tests/RabbitMQMessageEnvelopeParserTests.cs Adds tests for delivery-count parsing behavior and fallback logic.
src/Mocha/test/Mocha.Transport.RabbitMQ.Tests/Helpers/RabbitMQFixture.cs Refactors vhost context and exposes command invocation for integration tests.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/Mocha/src/Mocha.Transport.RabbitMQ/Topology/RabbitMQMessagingTopology.cs Outdated
Comment thread src/Mocha/src/Mocha.Transport.RabbitMQ/RabbitMQMessageEnvelopeParser.cs Outdated
Comment thread website/src/docs/mocha/v1/transports/rabbitmq.md
Comment thread website/src/docs/mocha/v1/transports/rabbitmq.md
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

📚 documentation This issue is about working on our documentation.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants