[
https://issues.apache.org/jira/browse/CAMEL-26918?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Christoph Deppisch reassigned CAMEL-26918:
------------------------------------------
Assignee: Christoph Deppisch
> Camel export with test plugin should detect all required test dependencies
> from Citrus YAML sources
> ---------------------------------------------------------------------------------------------------
>
> Key: CAMEL-26918
> URL: https://issues.apache.org/jira/browse/CAMEL-26918
> Project: Camel
> Issue Type: Improvement
> Components: camel-jbang
> Reporter: Christoph Deppisch
> Assignee: Christoph Deppisch
> Priority: Major
>
> When {{camel export}} includes Citrus YAML tests via the test plugin
> ({{TestPluginExporter}}), the exported Maven project's pom may be missing
> test-scoped dependencies that the Citrus tests require at runtime.
> The {{TestPluginExporter}} currently includes:
> - A hardcoded set of default Citrus modules (citrus-base,
> citrus-junit-jupiter, citrus-http, citrus-yaml, citrus-xml, citrus-groovy,
> and all validation modules)
> - Additional dependencies declared in {{test/jbang.properties}} under
> {{run.deps}}
> However, if a Citrus YAML test references endpoints or infrastructure that
> require additional modules (e.g. citrus-kafka, citrus-camel,
> citrus-testcontainers, or camel-test-infra-kafka) and these are not listed in
> {{jbang.properties}}, they are silently omitted from the exported pom. The
> exported project then fails at test execution time with
> {{ClassNotFoundException}}.
> *Example:* A test suite that validates a Kafka route needs citrus-kafka and
> camel-test-infra-kafka, but neither is in the default set nor automatically
> detected from the test files.
> *Steps to reproduce:*
> # Create a Citrus YAML test that uses Kafka endpoints and Camel infra services
> # Make sure to activate the Camel CLI test plugin
> # Run {{camel export --runtime=quarkus}} with the test plugin
> # Run {{mvn verify -DskipITs=false}} in the exported project
> # Build fails with missing classes (e.g. {{KafkaInfraService}}, Citrus Kafka
> endpoint classes)
> *Workaround:* Manually add the missing dependencies to the exported pom, or
> declare all required dependencies in {{test/jbang.properties}} under
> {{run.deps}}.
> *Possible approach:* Scan the Citrus YAML test files during export to detect
> which endpoint types are used (e.g. kafka, camel, sql) and automatically
> include the corresponding Citrus modules and Camel test-infra dependencies.
--
This message was sent by Atlassian Jira
(v10.3.26#10030026)