Commit a8ccf2c
test: address review feedback — drop Fragile trait, document converter contract, pin fallback
Three issues from claude[bot]'s latest review:
1. The new ASB unit test carried [Trait("Fragile", "CI")], copied by
mistake from the live-ASB integration tests. The CI pipeline uses
"Fragile!=CI" as its filter, so the trait skipped the only
transport-level pin for local-header filtering. Drop it.
2. GetProducerLookupTopic uses `producerTopic is string topic`. Concern
was that persistent outboxes round-trip Header.Bag through JSON, so
values would come back as JsonElement and the cast would silently
fail — reproducing the bug the PR fixes.
Investigation shows Brighter's bag round-trip uses
JsonSerialisationOptions.Options, which composes
DictionaryStringObjectJsonConverter with ObjectToInferredTypesConverter
to preserve string runtime types. Verified RelationDatabaseOutbox
(covers MsSql, PostgreSQL, MySql, Sqlite, Spanner), MongoDb, and
DynamoDB all use those options on deserialise.
Document the contract on GetProducerLookupTopic and add
BagStringValueRoundTripTests to pin the converter behaviour. If a
future change drops one of the converters, the round-trip test fails
loudly instead of GetProducerLookupTopic regressing silently.
3. Add WrapMatchingPublicationTopicTests to pin the fallback path: when
a mapper does NOT override Header.Topic, no ProducerTopic bag entry
is written and producer lookup falls back to Header.Topic. The
existing test trio (reply-mapper-overrides, null-publication-topic,
matching-topic) now covers all three branches of WrapPipeline.Wrap.
Co-Authored-By: Claude (claude-opus-4-7) <noreply@anthropic.com>1 parent 53996d4 commit a8ccf2c
4 files changed
Lines changed: 87 additions & 1 deletion
File tree
- src/Paramore.Brighter
- tests
- Paramore.Brighter.AzureServiceBus.Tests/MessagingGateway
- Paramore.Brighter.Core.Tests/MessageSerialisation
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
781 | 781 | | |
782 | 782 | | |
783 | 783 | | |
| 784 | + | |
| 785 | + | |
| 786 | + | |
| 787 | + | |
| 788 | + | |
| 789 | + | |
| 790 | + | |
| 791 | + | |
784 | 792 | | |
785 | 793 | | |
786 | 794 | | |
| |||
Lines changed: 0 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
5 | 5 | | |
6 | 6 | | |
7 | 7 | | |
8 | | - | |
9 | 8 | | |
10 | 9 | | |
11 | 10 | | |
| |||
Lines changed: 34 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
Lines changed: 45 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
0 commit comments