[
https://issues.apache.org/jira/browse/CAMEL-26438?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Work on CAMEL-26438 started by shashank.
----------------------------------------
> 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
> Priority: Minor
>
> 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)