allthingssecurity opened a new pull request, #28138:
URL: https://github.com/apache/camel/pull/28138

   # Description
   
   [CAMEL-25821](https://issues.apache.org/jira/browse/CAMEL-25821)
   
   Docs only: the guide "Writing a fake world" of `camel-test-dst` 
(CAMEL-25738) gets the pitfalls seen when writing worlds for IMAP, JMS, NATS 
JetStream and Azure Service Bus with the merged harness. The module page 
`test-dst.adoc` and its catalog copy change the same way (byte-identical).
   
   Changes:
   - *No end to the run* (extended): a consumer task that never returns sits 
above the test thread on the one stack, so `dst.runFor` / `dst.runUntil` in the 
test body do not return while it loops. The phases of the run are scheduled 
tasks, and the run ends by having the fake close the subscription, then 
`runUntil(closed)`.
   - New pitfalls, one or two sentences each: a fake that answers at once with 
nothing (give it a round-trip latency); a `Proxy` fake and an undeclared 
checked exception (`UndeclaredThrowableException`; do what the library does); 
objects of an earlier connection (model the client library, not only the 
server); one excuse record per kind of operator stop; a synchronous consumer 
over `DstCamel.asyncStep` (`DefaultAsyncProcessorAwaitManager` in 
`alsoRewrite`, and let in-flight asynchronous exchanges finish before 
`dropPending()`).
   - *Running the tests*: a `camel-test-infra-*` module the component's tests 
depend on goes into `-pl` when it is not in the local repository.
   - *Limits*: a world in a module with parallel tests can be run alone with 
`-Dcamel.surefire.parallel=false` but cannot be committed there (the existing 
check is unchanged); locks do not exclude on the one stack, so races between 
two lock-holding code paths cannot be explored.
   
   Each statement was checked against the harness code on `main` (`Dst`, 
`DstExtension`, `DstInstrumentation`, `DstCamel`, the parent pom's JUnit 
parallel setting).
   
   # Target
   
   - [x] I checked that the commit is targeting the correct branch (Camel 4 
uses the `main` branch)
   
   # Tracking
   - [x] If this is a large change, bug fix, or code improvement, I checked 
there is a [JIRA issue](https://issues.apache.org/jira/browse/CAMEL) filed for 
the change (usually before you start working on it): 
[CAMEL-25821](https://issues.apache.org/jira/browse/CAMEL-25821).
   
   # Apache Camel coding standards and style
   
   - [x] I checked that each commit in the pull request has a meaningful 
subject line and body.
   - [ ] I have run `mvn clean install -DskipTests` locally from root folder 
and I have committed all auto-generated changes.
     (Docs only: the catalog copy of the page is updated by hand and is 
byte-identical to the module page. I did not run the full root build.)
   
   # AI-assisted contributions
   
   - [x] If this PR includes AI-generated code, commits have proper 
co-authorship attribution (e.g., `Co-authored-by` trailers) and the PR 
description identifies the AI tool used.
     This PR was prepared with Claude Code (Claude Opus 5.5). The commit 
carries a `Co-Authored-By` trailer.
   
   _Claude Code on behalf of allthingssecurity_
   
   🤖 Generated with [Claude Code](https://claude.com/claude-code)
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to