shashank created CAMEL-26438:
--------------------------------

             Summary: camel-test-dst - mark the fake worlds with @DstWorld and 
list them in the camel-catalog
                 Key: CAMEL-26438
                 URL: https://issues.apache.org/jira/browse/CAMEL-26438
             Project: Camel
          Issue Type: Improvement
          Components: camel-test
            Reporter: shashank
            Assignee: shashank


Discussed with Claus on Zulip (2026-10-31). There are 5 fake worlds for 
deterministic simulation tests on main (camel-aws2-sqs {{SqsWorld}}, 
camel-azure-eventhubs {{EventHubsWorld}}, camel-kafka-share 
{{KafkaShareWorld}}, camel-pulsar {{PulsarWorld}}, camel-slack {{SlackWorld}}). 
The only list of them is a hand-written table in {{test-dst.adoc}}, which will 
drift, and tools (the MCP server, an AI agent asked to test a consumer) cannot 
find out which components have a world, what it simulates, or which have none 
yet.

*Proposal*
* An annotation {{@DstWorld}} in camel-test-dst, put on the world class, with 
the metadata: the component, the fake, what the world covers, the faults it 
injects, the invariant it checks, and the related JIRA issues. An annotation 
rather than an interface: the worlds are test classes of different shapes, and 
the metadata is what is needed.
* Annotate the 5 existing worlds.
* The worlds live in {{src/test}}, so they never reach the component JAR: 
camel-package-maven-plugin scans the test sources of a component for 
{{@DstWorld}} and writes a {{dstWorlds}} section into the component's catalog 
JSON, generated and checked like the rest of the catalog (CI fails when it is 
out of date).
* Generate the table of worlds in {{test-dst.adoc}} from the same data.
* Later steps (separate PRs): an MCP tool that lists the worlds (and the 
consumers without one), so an agent can extend or copy an existing world 
following the guide "Writing a fake world" in {{test-dst.adoc}}; and a short 
generated section on each component page that has a world (what it covers, how 
to run it with a seed).

_Filed with Claude Code on behalf of allthingssecurity._



--
This message was sent by Atlassian Jira
(v10.3.26#10030026)

Reply via email to