apache / apache/camel-quarkus

Groovy DSL test hard to make work on Quarkus Platform

Open
#4,894 2 comments 0 reactions 0 assignees View on GitHub
Dominant language
Java
Stars
302
Forks
232
Avg merge
1d 20h
Merged PRs (30d)
114

Description

The test can currently be characterized as follows:

1. The execution is moved to integration test phase
2. It relies on the existence of the runner artifact under target directory
3. The path to the runner is passed from pom.xml to the test via property

All of these are quite against how the tests in Quarkus Platform are set up:

1. Native tests are not executed and thus their CI is only reaching Maven test phase. This was discussed several times and the general agreement was that this should change, but it has not changed yet. Hence point 1. may get solved at some point by the Platform team.
2. Running `mvn package` in the generated test module directory `generated-platform-project/quarkus-camel/integration-tests/camel-quarkus-integration-test-groovy-dsl` does not produce any jars under target. Maybe quarkus-maven-plugin is not set up. It needs to be investigated.
3. Setting the `quarkus.runner` property (and moving surefire to integration-test) can be done by this piece of XSL added to `src/main/resources/xslt/camel/test-pom.xsl` in the Platform source tree:

```







default-test

test

integration-test


${project.build.directory}/quarkus-app/quarkus-run.jar






```

Instead on pushing on any of the above, I'll remove camel-quarkus-integration-test-groovy-dsl from the test list we publish for the platform for now.

@essobedo I wonder whether the classloading issue because of which we have this special setup cannot be fixed in Quarkus or elsewhere? If it can be fixed, we would not need to bother with any special measures to make the test work in the Platform.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with src/main/resources/xslt/camel/test-pom.xsl and the generated module at generated-platform-project/quarkus-camel/integration-tests/camel-quarkus-integration-test-groovy-dsl; run mvn package there to investigate why no runner artifact is produced. Trace the classloading issue and determine whether the test can work in the Platform without the special Surefire and runner configuration, then verify the Platform test list can include it.

Written by the indexing model from the issue text.

Assessment

Tech stack
groovy, java
Domain
build-system, testing
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.