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)