You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ja...@apache.org on 2023/02/17 21:08:05 UTC

[camel-quarkus] 07/08: Multiple test methods do not work when extending CamelQuarkusTestSupport #4560

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

jamesnetherton pushed a commit to branch 2.13.x
in repository https://gitbox.apache.org/repos/asf/camel-quarkus.git

commit 58b998bc6d37a9b39c2270566ea1d1a9309865d0
Author: JiriOndrusek <on...@gmail.com>
AuthorDate: Tue Feb 14 09:13:33 2023 +0100

    Multiple test methods do not work when extending CamelQuarkusTestSupport #4560
---
 .../DoubleRoutesTest.java}                         | 16 ++++----
 .../extensions/doubeRouteBuilder/FirstET.java}     | 43 +++++++++++----------
 .../RouteBuilder.java}                             | 28 +++-----------
 .../extensions/doubeRouteBuilder/SecondET.java}    | 43 +++++++++++----------
 .../ProducedRouteBuilderTest.java                  |  4 +-
 .../routeBuilder/RouteBuilderFailureTest.java      | 18 ++++++++-
 .../extensions/routeBuilder/RouteBuilderUtil.java  | 45 ----------------------
 .../routeBuilder/RouteBuilderWarningET.java        | 17 +-------
 ...RouteBuilderWarningWithProducedBuilderTest.java | 19 +++++++--
 ...teBuilderWarningWithoutProducedBuilderTest.java | 18 +++++++--
 .../{RouteBuilderHello.java => RouteProducer.java} | 17 ++++----
 .../apache/camel/quarkus/test/CallbackUtil.java    | 12 +++---
 .../quarkus/test/CamelQuarkusTestSupport.java      | 22 +++++++++++
 .../test/common/CallbacksPerTestFalse01Test.java   |  2 -
 .../test/common/CallbacksPerTestFalse02Test.java   |  5 +--
 .../test/common/CallbacksPerTestTrue01Test.java    |  2 -
 .../test/common/CallbacksPerTestTrue02Test.java    |  2 -
 .../test/junit5/patterns/AdviceWithLambdaTest.java |  2 +
 .../AdviceInDoBeforeEachMethodsTest.java           |  2 -
 19 files changed, 153 insertions(+), 164 deletions(-)

diff --git a/test-framework/junit5-extension-tests/src/test/java/org/apache/camel/quarkus/test/extensions/producedRouteBuilder/ProducedRouteBuilderTest.java b/test-framework/junit5-extension-tests/src/test/java/org/apache/camel/quarkus/test/extensions/doubeRouteBuilder/DoubleRoutesTest.java
similarity index 82%
copy from test-framework/junit5-extension-tests/src/test/java/org/apache/camel/quarkus/test/extensions/producedRouteBuilder/ProducedRouteBuilderTest.java
copy to test-framework/junit5-extension-tests/src/test/java/org/apache/camel/quarkus/test/extensions/doubeRouteBuilder/DoubleRoutesTest.java
index 17fa9029a2..9fc59a5622 100644
--- a/test-framework/junit5-extension-tests/src/test/java/org/apache/camel/quarkus/test/extensions/producedRouteBuilder/ProducedRouteBuilderTest.java
+++ b/test-framework/junit5-extension-tests/src/test/java/org/apache/camel/quarkus/test/extensions/doubeRouteBuilder/DoubleRoutesTest.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.camel.quarkus.test.extensions.producedRouteBuilder;
+package org.apache.camel.quarkus.test.extensions.doubeRouteBuilder;
 
 import java.util.function.Supplier;
 
@@ -28,25 +28,25 @@ import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.extension.RegisterExtension;
 
 /**
- * Test for https://github.com/apache/camel-quarkus/issues/4362
+ * Test for https://github.com/apache/camel-quarkus/issues/4560
  */
-public class ProducedRouteBuilderTest {
+public class DoubleRoutesTest {
 
     @RegisterExtension
     static final QuarkusDevModeTest TEST = new QuarkusDevModeTest()
             .setArchiveProducer(new Supplier<>() {
                 @Override
                 public JavaArchive get() {
-                    return ShrinkWrap.create(JavaArchive.class)
+                    return ShrinkWrap.create(JavaArchive.class).addClass(RouteBuilder.class)
                             .add(new StringAsset(
-                                    ContinuousTestingTestUtils.appProperties("camel-quarkus.junit5.message=Sheldon")),
+                                    ContinuousTestingTestUtils.appProperties("#")),
                                     "application.properties");
                 }
             })
             .setTestArchiveProducer(new Supplier<>() {
                 @Override
                 public JavaArchive get() {
-                    return ShrinkWrap.create(JavaArchive.class).addClasses(ProducedRouteBuilderET.class);
+                    return ShrinkWrap.create(JavaArchive.class).addClasses(FirstET.class, SecondET.class);
                 }
             });
 
@@ -55,7 +55,7 @@ public class ProducedRouteBuilderTest {
         ContinuousTestingTestUtils utils = new ContinuousTestingTestUtils();
         ContinuousTestingTestUtils.TestStatus ts = utils.waitForNextCompletion();
 
-        Assertions.assertEquals(1L, ts.getTestsFailed());
-        Assertions.assertEquals(1L, ts.getTestsPassed());
+        Assertions.assertEquals(0L, ts.getTestsFailed());
+        Assertions.assertEquals(4L, ts.getTestsPassed());
     }
 }
diff --git a/test-framework/junit5/src/test/java/org/apache/camel/quarkus/test/junit5/patterns/AdviceWithLambdaTest.java b/test-framework/junit5-extension-tests/src/test/java/org/apache/camel/quarkus/test/extensions/doubeRouteBuilder/FirstET.java
similarity index 55%
copy from test-framework/junit5/src/test/java/org/apache/camel/quarkus/test/junit5/patterns/AdviceWithLambdaTest.java
copy to test-framework/junit5-extension-tests/src/test/java/org/apache/camel/quarkus/test/extensions/doubeRouteBuilder/FirstET.java
index ef19a48b33..47c2b056e3 100644
--- a/test-framework/junit5/src/test/java/org/apache/camel/quarkus/test/junit5/patterns/AdviceWithLambdaTest.java
+++ b/test-framework/junit5-extension-tests/src/test/java/org/apache/camel/quarkus/test/extensions/doubeRouteBuilder/FirstET.java
@@ -14,42 +14,45 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.camel.quarkus.test.junit5.patterns;
+package org.apache.camel.quarkus.test.extensions.doubeRouteBuilder;
 
 import io.quarkus.test.junit.QuarkusTest;
 import org.apache.camel.RoutesBuilder;
-import org.apache.camel.builder.AdviceWith;
 import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.component.mock.MockEndpoint;
 import org.apache.camel.quarkus.test.CamelQuarkusTestSupport;
 import org.junit.jupiter.api.Test;
 
 @QuarkusTest
-public class AdviceWithLambdaTest extends CamelQuarkusTestSupport {
+public class FirstET extends CamelQuarkusTestSupport {
 
     @Override
-    public boolean isUseAdviceWith() {
-        return true;
+    protected RoutesBuilder createRouteBuilder() throws Exception {
+        return new RouteBuilder() {
+            @Override
+            public void configure() throws Exception {
+                from("direct:startTest").to("direct:start").to("mock:result");
+            }
+        };
     }
 
     @Test
-    public void testAdviceWith() throws Exception {
-        getMockEndpoint("mock:result").expectedMessageCount(1);
+    public void someTestA() throws InterruptedException {
+        MockEndpoint mockEndpoint = getMockEndpoint("mock:result");
+        mockEndpoint.expectedBodiesReceived("Some Value");
 
-        // advice the route in one line
-        AdviceWith.adviceWith(context, "foo", a -> a.weaveAddLast().to("mock:result"));
+        template.sendBody("direct:startTest", null);
 
-        template.sendBody("direct:start", "Bye World");
-
-        assertMockEndpointsSatisfied();
+        mockEndpoint.assertIsSatisfied();
     }
 
-    @Override
-    protected RoutesBuilder createRouteBuilder() {
-        return new RouteBuilder() {
-            @Override
-            public void configure() {
-                from("direct:start").routeId("foo").to("log:foo");
-            }
-        };
+    @Test
+    public void someTestB() throws InterruptedException {
+        MockEndpoint mockEndpoint = getMockEndpoint("mock:result");
+        mockEndpoint.expectedBodiesReceived("Some Value");
+
+        template.sendBody("direct:startTest", null);
+
+        mockEndpoint.assertIsSatisfied();
     }
 }
diff --git a/test-framework/junit5-extension-tests/src/test/java/org/apache/camel/quarkus/test/extensions/routeBuilder/RouteBuilderWarningResource.java b/test-framework/junit5-extension-tests/src/test/java/org/apache/camel/quarkus/test/extensions/doubeRouteBuilder/RouteBuilder.java
similarity index 57%
rename from test-framework/junit5-extension-tests/src/test/java/org/apache/camel/quarkus/test/extensions/routeBuilder/RouteBuilderWarningResource.java
rename to test-framework/junit5-extension-tests/src/test/java/org/apache/camel/quarkus/test/extensions/doubeRouteBuilder/RouteBuilder.java
index 758fdaa5b3..7ce968d360 100644
--- a/test-framework/junit5-extension-tests/src/test/java/org/apache/camel/quarkus/test/extensions/routeBuilder/RouteBuilderWarningResource.java
+++ b/test-framework/junit5-extension-tests/src/test/java/org/apache/camel/quarkus/test/extensions/doubeRouteBuilder/RouteBuilder.java
@@ -14,29 +14,13 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.camel.quarkus.test.extensions.routeBuilder;
+package org.apache.camel.quarkus.test.extensions.doubeRouteBuilder;
 
-import javax.enterprise.context.ApplicationScoped;
-import javax.inject.Inject;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
+public class RouteBuilder extends org.apache.camel.builder.RouteBuilder {
+    @Override
+    public void configure() throws Exception {
+        from("direct:start").setBody(constant("Some Value")).log("The body is: ${body}");
 
-import org.apache.camel.ProducerTemplate;
-
-@Path("/routeBuilder")
-@ApplicationScoped
-public class RouteBuilderWarningResource {
-
-    @Inject
-    ProducerTemplate producerTemplate;
-
-    @Path("/in")
-    @POST
-    @Produces(MediaType.TEXT_PLAIN)
-    public void in(String body) {
-        producerTemplate.sendBody("direct:in", body);
+        from("timer:timeToAct?period=5000").routeId("TimerRoute").log("Calling direct:start").to("direct:start");
     }
-
 }
diff --git a/test-framework/junit5/src/test/java/org/apache/camel/quarkus/test/junit5/patterns/AdviceWithLambdaTest.java b/test-framework/junit5-extension-tests/src/test/java/org/apache/camel/quarkus/test/extensions/doubeRouteBuilder/SecondET.java
similarity index 55%
copy from test-framework/junit5/src/test/java/org/apache/camel/quarkus/test/junit5/patterns/AdviceWithLambdaTest.java
copy to test-framework/junit5-extension-tests/src/test/java/org/apache/camel/quarkus/test/extensions/doubeRouteBuilder/SecondET.java
index ef19a48b33..f76a446ccb 100644
--- a/test-framework/junit5/src/test/java/org/apache/camel/quarkus/test/junit5/patterns/AdviceWithLambdaTest.java
+++ b/test-framework/junit5-extension-tests/src/test/java/org/apache/camel/quarkus/test/extensions/doubeRouteBuilder/SecondET.java
@@ -14,42 +14,45 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.camel.quarkus.test.junit5.patterns;
+package org.apache.camel.quarkus.test.extensions.doubeRouteBuilder;
 
 import io.quarkus.test.junit.QuarkusTest;
 import org.apache.camel.RoutesBuilder;
-import org.apache.camel.builder.AdviceWith;
 import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.component.mock.MockEndpoint;
 import org.apache.camel.quarkus.test.CamelQuarkusTestSupport;
 import org.junit.jupiter.api.Test;
 
 @QuarkusTest
-public class AdviceWithLambdaTest extends CamelQuarkusTestSupport {
+public class SecondET extends CamelQuarkusTestSupport {
 
     @Override
-    public boolean isUseAdviceWith() {
-        return true;
+    protected RoutesBuilder createRouteBuilder() throws Exception {
+        return new RouteBuilder() {
+            @Override
+            public void configure() throws Exception {
+                from("direct:startTest").to("direct:start").to("mock:result");
+            }
+        };
     }
 
     @Test
-    public void testAdviceWith() throws Exception {
-        getMockEndpoint("mock:result").expectedMessageCount(1);
+    public void someTestA() throws InterruptedException {
+        MockEndpoint mockEndpoint = getMockEndpoint("mock:result");
+        mockEndpoint.expectedBodiesReceived("Some Value");
 
-        // advice the route in one line
-        AdviceWith.adviceWith(context, "foo", a -> a.weaveAddLast().to("mock:result"));
+        template.sendBody("direct:startTest", null);
 
-        template.sendBody("direct:start", "Bye World");
-
-        assertMockEndpointsSatisfied();
+        mockEndpoint.assertIsSatisfied();
     }
 
-    @Override
-    protected RoutesBuilder createRouteBuilder() {
-        return new RouteBuilder() {
-            @Override
-            public void configure() {
-                from("direct:start").routeId("foo").to("log:foo");
-            }
-        };
+    @Test
+    public void someTestB() throws InterruptedException {
+        MockEndpoint mockEndpoint = getMockEndpoint("mock:result");
+        mockEndpoint.expectedBodiesReceived("Some Value");
+
+        template.sendBody("direct:startTest", null);
+
+        mockEndpoint.assertIsSatisfied();
     }
 }
diff --git a/test-framework/junit5-extension-tests/src/test/java/org/apache/camel/quarkus/test/extensions/producedRouteBuilder/ProducedRouteBuilderTest.java b/test-framework/junit5-extension-tests/src/test/java/org/apache/camel/quarkus/test/extensions/producedRouteBuilder/ProducedRouteBuilderTest.java
index 17fa9029a2..dfe0a81e59 100644
--- a/test-framework/junit5-extension-tests/src/test/java/org/apache/camel/quarkus/test/extensions/producedRouteBuilder/ProducedRouteBuilderTest.java
+++ b/test-framework/junit5-extension-tests/src/test/java/org/apache/camel/quarkus/test/extensions/producedRouteBuilder/ProducedRouteBuilderTest.java
@@ -55,7 +55,7 @@ public class ProducedRouteBuilderTest {
         ContinuousTestingTestUtils utils = new ContinuousTestingTestUtils();
         ContinuousTestingTestUtils.TestStatus ts = utils.waitForNextCompletion();
 
-        Assertions.assertEquals(1L, ts.getTestsFailed());
-        Assertions.assertEquals(1L, ts.getTestsPassed());
+        Assertions.assertEquals(0L, ts.getTestsFailed());
+        Assertions.assertEquals(2L, ts.getTestsPassed());
     }
 }
diff --git a/test-framework/junit5-extension-tests/src/test/java/org/apache/camel/quarkus/test/extensions/routeBuilder/RouteBuilderFailureTest.java b/test-framework/junit5-extension-tests/src/test/java/org/apache/camel/quarkus/test/extensions/routeBuilder/RouteBuilderFailureTest.java
index 8ff06ffbe6..ef8b01e586 100644
--- a/test-framework/junit5-extension-tests/src/test/java/org/apache/camel/quarkus/test/extensions/routeBuilder/RouteBuilderFailureTest.java
+++ b/test-framework/junit5-extension-tests/src/test/java/org/apache/camel/quarkus/test/extensions/routeBuilder/RouteBuilderFailureTest.java
@@ -16,9 +16,14 @@
  */
 package org.apache.camel.quarkus.test.extensions.routeBuilder;
 
+import java.util.logging.Level;
+
 import io.quarkus.test.ContinuousTestingTestUtils;
 import io.quarkus.test.QuarkusDevModeTest;
 import org.apache.camel.quarkus.test.extensions.continousDev.HelloResource;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.asset.StringAsset;
+import org.jboss.shrinkwrap.api.spec.JavaArchive;
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.extension.RegisterExtension;
@@ -29,8 +34,17 @@ import org.junit.jupiter.api.extension.RegisterExtension;
 public class RouteBuilderFailureTest {
 
     @RegisterExtension
-    static final QuarkusDevModeTest TEST = RouteBuilderUtil.createTestModule(RouteBuilderFailureET.class,
-            RouteBuilderWarningResource.class, HelloResource.class);
+    static final QuarkusDevModeTest TEST = new QuarkusDevModeTest()
+            .setArchiveProducer(() -> {
+                JavaArchive ja = ShrinkWrap.create(JavaArchive.class)
+                        .addClasses(RouteBuilderFailureET.class, HelloResource.class)
+                        .add(new StringAsset(
+                                ContinuousTestingTestUtils.appProperties("camel-quarkus.junit5.message=Sheldon")),
+                                "application.properties");
+                return ja;
+            })
+            .setTestArchiveProducer(() -> ShrinkWrap.create(JavaArchive.class).addClasses(RouteBuilderFailureET.class))
+            .setLogRecordPredicate(record -> record.getLevel().equals(Level.WARNING));
 
     @Test
     public void checkTests() {
diff --git a/test-framework/junit5-extension-tests/src/test/java/org/apache/camel/quarkus/test/extensions/routeBuilder/RouteBuilderUtil.java b/test-framework/junit5-extension-tests/src/test/java/org/apache/camel/quarkus/test/extensions/routeBuilder/RouteBuilderUtil.java
deleted file mode 100644
index 0ba81a2f30..0000000000
--- a/test-framework/junit5-extension-tests/src/test/java/org/apache/camel/quarkus/test/extensions/routeBuilder/RouteBuilderUtil.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.quarkus.test.extensions.routeBuilder;
-
-import java.util.logging.Level;
-
-import io.quarkus.test.ContinuousTestingTestUtils;
-import io.quarkus.test.QuarkusDevModeTest;
-import org.jboss.shrinkwrap.api.ShrinkWrap;
-import org.jboss.shrinkwrap.api.asset.StringAsset;
-import org.jboss.shrinkwrap.api.spec.JavaArchive;
-
-public class RouteBuilderUtil {
-
-    static QuarkusDevModeTest createTestModule(Class testClass, Class<?>... archiveClasses) {
-        QuarkusDevModeTest retVal = new QuarkusDevModeTest()
-                .setArchiveProducer(() -> {
-                    JavaArchive ja = ShrinkWrap.create(JavaArchive.class)
-                            .addClasses(archiveClasses)
-                            .add(new StringAsset(
-                                    ContinuousTestingTestUtils.appProperties("camel-quarkus.junit5.message=Sheldon")),
-                                    "application.properties");
-                    return ja;
-                })
-                .setTestArchiveProducer(() -> ShrinkWrap.create(JavaArchive.class).addClasses(testClass))
-                .setLogRecordPredicate(record -> record.getLevel().equals(Level.WARNING));
-
-        return retVal;
-    }
-
-}
diff --git a/test-framework/junit5-extension-tests/src/test/java/org/apache/camel/quarkus/test/extensions/routeBuilder/RouteBuilderWarningET.java b/test-framework/junit5-extension-tests/src/test/java/org/apache/camel/quarkus/test/extensions/routeBuilder/RouteBuilderWarningET.java
index 3a6c04baeb..f3ba2cb8ee 100644
--- a/test-framework/junit5-extension-tests/src/test/java/org/apache/camel/quarkus/test/extensions/routeBuilder/RouteBuilderWarningET.java
+++ b/test-framework/junit5-extension-tests/src/test/java/org/apache/camel/quarkus/test/extensions/routeBuilder/RouteBuilderWarningET.java
@@ -17,13 +17,11 @@
 package org.apache.camel.quarkus.test.extensions.routeBuilder;
 
 import io.quarkus.test.junit.QuarkusTest;
-import io.restassured.RestAssured;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.quarkus.test.CamelQuarkusTestSupport;
+import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.Test;
 
-import static org.hamcrest.CoreMatchers.is;
-
 @QuarkusTest
 public class RouteBuilderWarningET extends CamelQuarkusTestSupport {
 
@@ -34,18 +32,7 @@ public class RouteBuilderWarningET extends CamelQuarkusTestSupport {
 
     @Test
     public void helloTest() throws Exception {
-        RestAssured.given()
-                .body("Hello (from routeBuilder) ")
-                .post("/routeBuilder/in")
-                .then()
-                .statusCode(204);
-
-        RestAssured.given()
-                .body("file:target/data/RouteBuilderET?fileName=hello_true.txt")
-                .post("/hello/message")
-                .then()
-                .statusCode(200)
-                .body(is("Hello (from routeBuilder) Sheldon"));
+        Assertions.assertTrue(true);
     }
 
     @Override
diff --git a/test-framework/junit5-extension-tests/src/test/java/org/apache/camel/quarkus/test/extensions/routeBuilder/RouteBuilderWarningWithProducedBuilderTest.java b/test-framework/junit5-extension-tests/src/test/java/org/apache/camel/quarkus/test/extensions/routeBuilder/RouteBuilderWarningWithProducedBuilderTest.java
index b35276adcc..c06ce134b7 100644
--- a/test-framework/junit5-extension-tests/src/test/java/org/apache/camel/quarkus/test/extensions/routeBuilder/RouteBuilderWarningWithProducedBuilderTest.java
+++ b/test-framework/junit5-extension-tests/src/test/java/org/apache/camel/quarkus/test/extensions/routeBuilder/RouteBuilderWarningWithProducedBuilderTest.java
@@ -16,9 +16,13 @@
  */
 package org.apache.camel.quarkus.test.extensions.routeBuilder;
 
+import java.util.logging.Level;
+
 import io.quarkus.test.ContinuousTestingTestUtils;
 import io.quarkus.test.QuarkusDevModeTest;
-import org.apache.camel.quarkus.test.extensions.continousDev.HelloResource;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.asset.StringAsset;
+import org.jboss.shrinkwrap.api.spec.JavaArchive;
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.extension.RegisterExtension;
@@ -30,8 +34,17 @@ import org.junit.jupiter.api.extension.RegisterExtension;
 public class RouteBuilderWarningWithProducedBuilderTest {
 
     @RegisterExtension
-    static final QuarkusDevModeTest TEST = RouteBuilderUtil.createTestModule(RouteBuilderWarningET.class,
-            RouteBuilderWarningResource.class, HelloResource.class, RouteBuilderHello.class);
+    static final QuarkusDevModeTest TEST = new QuarkusDevModeTest()
+            .setArchiveProducer(() -> {
+                JavaArchive ja = ShrinkWrap.create(JavaArchive.class)
+                        .addClasses(RouteProducer.class)
+                        .add(new StringAsset(
+                                ContinuousTestingTestUtils.appProperties("#")),
+                                "application.properties");
+                return ja;
+            })
+            .setTestArchiveProducer(() -> ShrinkWrap.create(JavaArchive.class).addClasses(RouteBuilderWarningET.class))
+            .setLogRecordPredicate(record -> record.getLevel().equals(Level.WARNING));
 
     @Test
     public void checkTests() {
diff --git a/test-framework/junit5-extension-tests/src/test/java/org/apache/camel/quarkus/test/extensions/routeBuilder/RouteBuilderWarningWithoutProducedBuilderTest.java b/test-framework/junit5-extension-tests/src/test/java/org/apache/camel/quarkus/test/extensions/routeBuilder/RouteBuilderWarningWithoutProducedBuilderTest.java
index ba578bbe19..9436d05368 100644
--- a/test-framework/junit5-extension-tests/src/test/java/org/apache/camel/quarkus/test/extensions/routeBuilder/RouteBuilderWarningWithoutProducedBuilderTest.java
+++ b/test-framework/junit5-extension-tests/src/test/java/org/apache/camel/quarkus/test/extensions/routeBuilder/RouteBuilderWarningWithoutProducedBuilderTest.java
@@ -16,9 +16,13 @@
  */
 package org.apache.camel.quarkus.test.extensions.routeBuilder;
 
+import java.util.logging.Level;
+
 import io.quarkus.test.ContinuousTestingTestUtils;
 import io.quarkus.test.QuarkusDevModeTest;
-import org.apache.camel.quarkus.test.extensions.continousDev.HelloResource;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.asset.StringAsset;
+import org.jboss.shrinkwrap.api.spec.JavaArchive;
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.extension.RegisterExtension;
@@ -30,8 +34,16 @@ import org.junit.jupiter.api.extension.RegisterExtension;
 public class RouteBuilderWarningWithoutProducedBuilderTest {
 
     @RegisterExtension
-    static final QuarkusDevModeTest TEST = RouteBuilderUtil.createTestModule(RouteBuilderWarningET.class,
-            RouteBuilderWarningResource.class, HelloResource.class);
+    static final QuarkusDevModeTest TEST = new QuarkusDevModeTest()
+            .setArchiveProducer(() -> {
+                JavaArchive ja = ShrinkWrap.create(JavaArchive.class)
+                        .add(new StringAsset(
+                                ContinuousTestingTestUtils.appProperties("#")),
+                                "application.properties");
+                return ja;
+            })
+            .setTestArchiveProducer(() -> ShrinkWrap.create(JavaArchive.class).addClasses(RouteBuilderWarningET.class))
+            .setLogRecordPredicate(record -> record.getLevel().equals(Level.WARNING));
 
     @Test
     public void checkTests() {
diff --git a/test-framework/junit5-extension-tests/src/test/java/org/apache/camel/quarkus/test/extensions/routeBuilder/RouteBuilderHello.java b/test-framework/junit5-extension-tests/src/test/java/org/apache/camel/quarkus/test/extensions/routeBuilder/RouteProducer.java
similarity index 76%
rename from test-framework/junit5-extension-tests/src/test/java/org/apache/camel/quarkus/test/extensions/routeBuilder/RouteBuilderHello.java
rename to test-framework/junit5-extension-tests/src/test/java/org/apache/camel/quarkus/test/extensions/routeBuilder/RouteProducer.java
index b20908bb52..618500fafe 100644
--- a/test-framework/junit5-extension-tests/src/test/java/org/apache/camel/quarkus/test/extensions/routeBuilder/RouteBuilderHello.java
+++ b/test-framework/junit5-extension-tests/src/test/java/org/apache/camel/quarkus/test/extensions/routeBuilder/RouteProducer.java
@@ -16,16 +16,17 @@
  */
 package org.apache.camel.quarkus.test.extensions.routeBuilder;
 
-import javax.enterprise.context.ApplicationScoped;
-
 import org.apache.camel.builder.RouteBuilder;
 
-@ApplicationScoped
-public class RouteBuilderHello extends RouteBuilder {
+public class RouteProducer {
 
-    @Override
-    public void configure() {
-        from("direct:in").routeId("directRoute").to("file:target/data/RouteBuilderET?filename=hello_false.txt");
+    @javax.enterprise.inject.Produces
+    public RouteBuilder routes() {
+        return new RouteBuilder() {
+            @Override
+            public void configure() {
+                from("direct:in1").to("direct:in2");
+            }
+        };
     }
-
 }
diff --git a/test-framework/junit5/src/main/java/org/apache/camel/quarkus/test/CallbackUtil.java b/test-framework/junit5/src/main/java/org/apache/camel/quarkus/test/CallbackUtil.java
index b4f8d3fa56..f01d15d7ed 100644
--- a/test-framework/junit5/src/main/java/org/apache/camel/quarkus/test/CallbackUtil.java
+++ b/test-framework/junit5/src/main/java/org/apache/camel/quarkus/test/CallbackUtil.java
@@ -48,13 +48,15 @@ public class CallbackUtil {
 
     static void resetContext(CamelQuarkusTestSupport testInstance) {
 
-        //if routeBuilder (from the test) was used, all routes has to be stopped and removed
+        //if routeBuilder (from the test) was used, all routes from that builder has to be stopped and removed
         //because routes will be created again (in case of TestInstance.Lifecycle.PER_CLASS, this method is not executed)
-        if (testInstance.isUseRouteBuilder()) {
-            try {
-                testInstance.context().getRouteController().stopAllRoutes();
-                testInstance.context().getRouteController().removeAllRoutes();
+        if (testInstance.isUseRouteBuilder() && testInstance.createdRoutes != null) {
 
+            try {
+                for (String r : testInstance.createdRoutes) {
+                    testInstance.context().getRouteController().stopRoute(r);
+                    testInstance.context().removeRoute(r);
+                }
             } catch (Exception e) {
                 throw new RuntimeException(e);
             }
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 3baaaebe2c..50f6bd9c6e 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
@@ -18,6 +18,8 @@ package org.apache.camel.quarkus.test;
 
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Set;
+import java.util.stream.Collectors;
 
 import javax.inject.Inject;
 
@@ -80,6 +82,11 @@ public class CamelQuarkusTestSupport extends CamelTestSupport
     @Inject
     protected CamelContext context;
 
+    /*
+     * Set of routes, which were created by routeBuilder. This set is used by some callbacks.
+     */
+    Set<String> createdRoutes;
+
     //------------------------ quarkus callbacks ---------------
 
     /**
@@ -304,6 +311,12 @@ public class CamelQuarkusTestSupport extends CamelTestSupport
         if (isUseAdviceWith() || isUseDebugger()) {
             ((FastCamelContext) context).suspend();
         }
+
+        if (isUseRouteBuilder()) {
+            //save the routeIds of routes existing before setup
+            createdRoutes = context.getRoutes().stream().map(r -> r.getRouteId()).collect(Collectors.toSet());
+        }
+
         super.doPreSetup();
     }
 
@@ -326,6 +339,15 @@ public class CamelQuarkusTestSupport extends CamelTestSupport
                 mcc.addRouteDefinitions(rdfs);
             }
         }
+
+        if (isUseRouteBuilder()) {
+            //remove from the routes all routes which existed before setup
+            var allRoutes = context.getRoutes().stream().map(r -> r.getRouteId()).collect(Collectors.toSet());
+            if (createdRoutes != null) {
+                allRoutes.removeAll(createdRoutes);
+            }
+            createdRoutes = allRoutes;
+        }
         super.doPostSetup();
     }
 
diff --git a/test-framework/junit5/src/test/java/org/apache/camel/quarkus/test/common/CallbacksPerTestFalse01Test.java b/test-framework/junit5/src/test/java/org/apache/camel/quarkus/test/common/CallbacksPerTestFalse01Test.java
index 54e0ff051b..e10d0ce525 100644
--- a/test-framework/junit5/src/test/java/org/apache/camel/quarkus/test/common/CallbacksPerTestFalse01Test.java
+++ b/test-framework/junit5/src/test/java/org/apache/camel/quarkus/test/common/CallbacksPerTestFalse01Test.java
@@ -19,14 +19,12 @@ package org.apache.camel.quarkus.test.common;
 import java.util.function.BiConsumer;
 
 import io.quarkus.test.junit.QuarkusTest;
-import io.quarkus.test.junit.TestProfile;
 import org.junit.jupiter.api.AfterAll;
 import org.junit.jupiter.api.TestInstance;
 
 // replaces CreateCamelContextPerTestTrueTest
 @QuarkusTest
 @TestInstance(TestInstance.Lifecycle.PER_METHOD)
-@TestProfile(CallbacksPerTestFalse01Test.class)
 public class CallbacksPerTestFalse01Test extends AbstractCallbacksTest {
 
     public CallbacksPerTestFalse01Test() {
diff --git a/test-framework/junit5/src/test/java/org/apache/camel/quarkus/test/common/CallbacksPerTestFalse02Test.java b/test-framework/junit5/src/test/java/org/apache/camel/quarkus/test/common/CallbacksPerTestFalse02Test.java
index f9fbb14544..9bb7834a79 100644
--- a/test-framework/junit5/src/test/java/org/apache/camel/quarkus/test/common/CallbacksPerTestFalse02Test.java
+++ b/test-framework/junit5/src/test/java/org/apache/camel/quarkus/test/common/CallbacksPerTestFalse02Test.java
@@ -19,17 +19,16 @@ package org.apache.camel.quarkus.test.common;
 import java.util.concurrent.TimeUnit;
 
 import io.quarkus.test.junit.QuarkusTest;
-import io.quarkus.test.junit.TestProfile;
 import org.hamcrest.Matchers;
+import org.junit.jupiter.api.Test;
 
 import static org.awaitility.Awaitility.await;
 
 // replaces CreateCamelContextPerTestTrueTest
 @QuarkusTest
-@TestProfile(CallbacksPerTestFalse01Test.class)
 public class CallbacksPerTestFalse02Test {
 
-    //    @Test
+    @Test
     public void testAfter01Class() {
 
         await().atMost(5, TimeUnit.SECONDS).until(() -> AbstractCallbacksTest.testFromAnotherClass(
diff --git a/test-framework/junit5/src/test/java/org/apache/camel/quarkus/test/common/CallbacksPerTestTrue01Test.java b/test-framework/junit5/src/test/java/org/apache/camel/quarkus/test/common/CallbacksPerTestTrue01Test.java
index 54bcbfdcc3..b765ef6b0d 100644
--- a/test-framework/junit5/src/test/java/org/apache/camel/quarkus/test/common/CallbacksPerTestTrue01Test.java
+++ b/test-framework/junit5/src/test/java/org/apache/camel/quarkus/test/common/CallbacksPerTestTrue01Test.java
@@ -19,14 +19,12 @@ package org.apache.camel.quarkus.test.common;
 import java.util.function.BiConsumer;
 
 import io.quarkus.test.junit.QuarkusTest;
-import io.quarkus.test.junit.TestProfile;
 import org.junit.jupiter.api.AfterAll;
 import org.junit.jupiter.api.TestInstance;
 
 // replaces CreateCamelContextPerTestTrueTest
 @QuarkusTest
 @TestInstance(TestInstance.Lifecycle.PER_CLASS)
-@TestProfile(CallbacksPerTestTrue01Test.class)
 public class CallbacksPerTestTrue01Test extends AbstractCallbacksTest {
 
     public CallbacksPerTestTrue01Test() {
diff --git a/test-framework/junit5/src/test/java/org/apache/camel/quarkus/test/common/CallbacksPerTestTrue02Test.java b/test-framework/junit5/src/test/java/org/apache/camel/quarkus/test/common/CallbacksPerTestTrue02Test.java
index 777c3b97e4..472d5d319f 100644
--- a/test-framework/junit5/src/test/java/org/apache/camel/quarkus/test/common/CallbacksPerTestTrue02Test.java
+++ b/test-framework/junit5/src/test/java/org/apache/camel/quarkus/test/common/CallbacksPerTestTrue02Test.java
@@ -19,7 +19,6 @@ package org.apache.camel.quarkus.test.common;
 import java.util.concurrent.TimeUnit;
 
 import io.quarkus.test.junit.QuarkusTest;
-import io.quarkus.test.junit.TestProfile;
 import org.hamcrest.Matchers;
 import org.junit.jupiter.api.Test;
 
@@ -27,7 +26,6 @@ import static org.awaitility.Awaitility.await;
 
 // replaces CreateCamelContextPerTestTrueTest
 @QuarkusTest
-@TestProfile(CallbacksPerTestTrue01Test.class)
 public class CallbacksPerTestTrue02Test {
 
     @Test
diff --git a/test-framework/junit5/src/test/java/org/apache/camel/quarkus/test/junit5/patterns/AdviceWithLambdaTest.java b/test-framework/junit5/src/test/java/org/apache/camel/quarkus/test/junit5/patterns/AdviceWithLambdaTest.java
index ef19a48b33..b773c49b37 100644
--- a/test-framework/junit5/src/test/java/org/apache/camel/quarkus/test/junit5/patterns/AdviceWithLambdaTest.java
+++ b/test-framework/junit5/src/test/java/org/apache/camel/quarkus/test/junit5/patterns/AdviceWithLambdaTest.java
@@ -17,6 +17,7 @@
 package org.apache.camel.quarkus.test.junit5.patterns;
 
 import io.quarkus.test.junit.QuarkusTest;
+import io.quarkus.test.junit.TestProfile;
 import org.apache.camel.RoutesBuilder;
 import org.apache.camel.builder.AdviceWith;
 import org.apache.camel.builder.RouteBuilder;
@@ -24,6 +25,7 @@ import org.apache.camel.quarkus.test.CamelQuarkusTestSupport;
 import org.junit.jupiter.api.Test;
 
 @QuarkusTest
+@TestProfile(AdviceWithLambdaTest.class)
 public class AdviceWithLambdaTest extends CamelQuarkusTestSupport {
 
     @Override
diff --git a/test-framework/junit5/src/test/java/org/apache/camel/quarkus/test/userTestCases/AdviceInDoBeforeEachMethodsTest.java b/test-framework/junit5/src/test/java/org/apache/camel/quarkus/test/userTestCases/AdviceInDoBeforeEachMethodsTest.java
index 159d352c49..d3df9b6662 100644
--- a/test-framework/junit5/src/test/java/org/apache/camel/quarkus/test/userTestCases/AdviceInDoBeforeEachMethodsTest.java
+++ b/test-framework/junit5/src/test/java/org/apache/camel/quarkus/test/userTestCases/AdviceInDoBeforeEachMethodsTest.java
@@ -19,7 +19,6 @@ package org.apache.camel.quarkus.test.userTestCases;
 import javax.inject.Inject;
 
 import io.quarkus.test.junit.QuarkusTest;
-import io.quarkus.test.junit.TestProfile;
 import io.quarkus.test.junit.callback.QuarkusTestMethodContext;
 import org.apache.camel.CamelContext;
 import org.apache.camel.EndpointInject;
@@ -36,7 +35,6 @@ import org.junit.jupiter.api.Test;
  * Test for https://github.com/apache/camel-quarkus/issues/4362
  */
 @QuarkusTest
-@TestProfile(AdviceInDoBeforeEachMethodsTest.class)
 public class AdviceInDoBeforeEachMethodsTest extends CamelQuarkusTestSupport {
 
     @Produce("direct:ftp")