This is an automated email from the ASF dual-hosted git repository.

github-bot pushed a commit to branch camel-main
in repository https://gitbox.apache.org/repos/asf/camel-quarkus.git

commit ddea8b2bbe03d65fd244346f8560432678410223
Author: JiriOndrusek <[email protected]>
AuthorDate: Wed Jun 12 10:47:40 2024 +0200

    Fixed junit5-extension-tests
---
 .../doubeRouteBuilderPerClass/SecondPerClassET.java       |  8 ++++----
 .../camel/quarkus/test/CamelQuarkusTestSupport.java       | 15 ++++++++++++++-
 2 files changed, 18 insertions(+), 5 deletions(-)

diff --git 
a/test-framework/junit5-extension-tests/src/test/java/org/apache/camel/quarkus/test/extensions/doubeRouteBuilderPerClass/SecondPerClassET.java
 
b/test-framework/junit5-extension-tests/src/test/java/org/apache/camel/quarkus/test/extensions/doubeRouteBuilderPerClass/SecondPerClassET.java
index 563ebc565f..5b58726702 100644
--- 
a/test-framework/junit5-extension-tests/src/test/java/org/apache/camel/quarkus/test/extensions/doubeRouteBuilderPerClass/SecondPerClassET.java
+++ 
b/test-framework/junit5-extension-tests/src/test/java/org/apache/camel/quarkus/test/extensions/doubeRouteBuilderPerClass/SecondPerClassET.java
@@ -33,23 +33,23 @@ public class SecondPerClassET extends 
CamelQuarkusTestSupport {
         return new RouteBuilder() {
             @Override
             public void configure() throws Exception {
-                from("direct:startTest").to("direct:start").to("mock:result");
+                from("direct:startTest2").to("direct:start").to("mock:result");
             }
         };
     }
 
     @Test
-    public void someTestA() throws InterruptedException {
+    public void someTestC() throws InterruptedException {
         MockEndpoint mockEndpoint = getMockEndpoint("mock:result");
         mockEndpoint.expectedBodiesReceived("Some Value");
 
-        template.sendBody("direct:startTest", null);
+        template.sendBody("direct:startTest2", null);
 
         mockEndpoint.assertIsSatisfied();
     }
 
     @Test
-    public void someTestB() throws InterruptedException {
+    public void someTestD() throws InterruptedException {
         MockEndpoint mockEndpoint = getMockEndpoint("mock:result");
         mockEndpoint.expectedBodiesReceived("Some Value");
 
diff --git 
a/test-framework/junit5/src/main/java/org/apache/camel/quarkus/test/CamelQuarkusTestSupport.java
 
b/test-framework/junit5/src/main/java/org/apache/camel/quarkus/test/CamelQuarkusTestSupport.java
index 94cd0f63b2..571113b5f8 100644
--- 
a/test-framework/junit5/src/main/java/org/apache/camel/quarkus/test/CamelQuarkusTestSupport.java
+++ 
b/test-framework/junit5/src/main/java/org/apache/camel/quarkus/test/CamelQuarkusTestSupport.java
@@ -242,6 +242,16 @@ public class CamelQuarkusTestSupport extends 
AbstractTestSupport
         contextManager.createCamelContext(this);
         context = contextManager.context();
 
+        //log warning in case that at least one RouteBuilder in the registry, 
it might mean, that unintentionally
+        // RouteBuilders are shared across or that RouteBuilder is created 
with @Produces
+        if (isUseRouteBuilder() && 
!context.getRegistry().findByType(RouteBuilder.class).isEmpty()) {
+            LOG.warn(
+                    "Test with `true` in `isUserRouteBuilder' and 
`RouteBuilder` detected in the context registry. " +
+                            "All tests will share this routeBuilder from the 
registry. This is usually not intended. " +
+                            "If `@Produces` is used to create such a 
RouteBuilder, please refactor the code " +
+                            "by overriding the method `createRouteBuilder()` 
instead.");
+        }
+
         doPostSetup();
 
         // only start timing after all the setup
@@ -317,7 +327,10 @@ public class CamelQuarkusTestSupport extends 
AbstractTestSupport
 
     void internalAfterAll(QuarkusTestContext context, ExtensionContext 
extensionContext) {
         try {
-            if (!testConfiguration().isCreateCamelContextPerClass()) {
+            if (testConfiguration().isCreateCamelContextPerClass()) {
+                //call all clear and release methods, stop is not called as it 
is disabled on the camelContextManagers
+                contextManager.stop();
+            } else {
                 doPostTearDown();
             }
             cleanupResources();

Reply via email to