feat: deepen messaging backplane host demo#191
Conversation
Dependency Review✅ No vulnerabilities or license issues or OpenSSF Scorecard issues found.Scanned FilesNone |
There was a problem hiding this comment.
Pull request overview
Refactors the messaging backplane demo into a host/builder shaped startup surface (BackplaneHost / BackplaneHostBuilder) and a typed BackplaneClient, while keeping BackplaneBus and IBackplaneTransport as the lower-level pluggable boundary. Application-service style handlers are extracted into BackplaneDemoServices and registered through fluent receive endpoints, and the docs/tests are updated to match.
Changes:
- Introduce
BackplaneHost,BackplaneHostBuilder,BackplaneEndpointBuilder, and a typedBackplaneClientexposing onlyRequestAsync/PublishAsync. - Rewrite
BackplaneFacadeDemo.RunAsyncto compose endpoints/routes via the new builder and move handlers intoBackplaneDemoServices. - Add a host-configuration test and update the messaging-backplane docs to show host-style setup, typed client usage, and the transport adapter boundary.
Reviewed changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| src/PatternKit.Examples/Messaging/BackplaneFacadeDemo.cs | Adds host/builder/client/registration types and refactors the demo to use them via a BackplaneDemoServices aggregator. |
| test/PatternKit.Examples.Tests/Messaging/BackplaneFacadeDemoTests.cs | Adds a test that asserts host builder wiring (transport, outbox, idempotency, endpoints, client). |
| docs/examples/messaging-backplane-facade.md | Documents host startup, typed client request/reply and publish, and transport adapter boundary. |
| docs/examples/index.md | Updates the demo blurb to mention host-style setup and typed client. |
| docs/examples/enterprise-messaging-workflows.md | Updates the demo entry and tested-behavior bullet to mention the host builder and typed client. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Code Coverage |
Test Results520 tests 520 ✅ 1m 53s ⏱️ Results for commit 30c7551. |
🔍 PR Validation ResultsVersion: `` ✅ Validation Steps
📊 ArtifactsDry-run artifacts have been uploaded and will be available for 7 days. This comment was automatically generated by the PR validation workflow. |
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #191 +/- ##
==========================================
+ Coverage 86.92% 91.66% +4.73%
==========================================
Files 251 251
Lines 22434 22545 +111
Branches 3215 3232 +17
==========================================
+ Hits 19501 20665 +1164
+ Misses 2026 1880 -146
+ Partials 907 0 -907
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
Closes #190.
Summary
BackplaneHost/BackplaneHostBuilderstartup surface around the backplane demo.BackplaneClientfor app services while preserving the lower-levelBackplaneBusand pluggableIBackplaneTransportboundary.Validation
dotnet test test\PatternKit.Examples.Tests\PatternKit.Examples.Tests.csproj --configuration Release --framework net8.0 --no-restore -p:UseSharedCompilation=falsedotnet test test\PatternKit.Examples.Tests\PatternKit.Examples.Tests.csproj --configuration Release --no-restore -p:UseSharedCompilation=falsedocfx metadata docs\docfx.jsondotnet build PatternKit.slnx --configuration Release --no-restore /p:ContinuousIntegrationBuild=true -p:UseSharedCompilation=falsedocfx build docs\docfx.jsondotnet test test\PatternKit.Tests\PatternKit.Tests.csproj --configuration Release --no-build -p:UseSharedCompilation=falsedotnet test test\PatternKit.Generators.Tests\PatternKit.Generators.Tests.csproj --configuration Release --no-build -p:UseSharedCompilation=falsedotnet test PatternKit.slnx --configuration Release --no-build --collect:"XPlat Code Coverage" -- DataCollectionRunSettings.DataCollectors.DataCollector.Configuration.Format=cobertura DataCollectionRunSettings.DataCollectors.DataCollector.Configuration.Include="[PatternKit*]*" DataCollectionRunSettings.DataCollectors.DataCollector.Configuration.Exclude="[*Tests]*"git diff --check