You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2024/12/31 12:50:27 UTC
(camel) 05/09: CAMEL-21274: camel-test - Add option to dump routes
This is an automated email from the ASF dual-hosted git repository.
davsclaus pushed a commit to branch td
in repository https://gitbox.apache.org/repos/asf/camel.git
commit 8c5ec176b5570a0b4a3150a6aa54ecb1992921b5
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Tue Dec 31 12:08:19 2024 +0100
CAMEL-21274: camel-test - Add option to dump routes
---
.../test/junit5/util/CamelContextTestHelper.java | 17 ++++++--
.../spring/junit5/CamelAnnotationsHandler.java | 48 +++++++++-------------
.../test/spring/junit5/CamelSpringBootTest.java | 8 ++--
3 files changed, 37 insertions(+), 36 deletions(-)
diff --git a/components/camel-test/camel-test-junit5/src/main/java/org/apache/camel/test/junit5/util/CamelContextTestHelper.java b/components/camel-test/camel-test-junit5/src/main/java/org/apache/camel/test/junit5/util/CamelContextTestHelper.java
index ee26f8d69c8..09f18e77a18 100644
--- a/components/camel-test/camel-test-junit5/src/main/java/org/apache/camel/test/junit5/util/CamelContextTestHelper.java
+++ b/components/camel-test/camel-test-junit5/src/main/java/org/apache/camel/test/junit5/util/CamelContextTestHelper.java
@@ -251,20 +251,29 @@ public final class CamelContextTestHelper {
}
public static boolean isRouteCoverageEnabled(boolean legacyDumpCoverage) {
+ // JVM system property take precedence
String p = System.getProperty(ROUTE_COVERAGE_ENABLED);
if (p != null) {
- // JVM system property take precedence
+ p = p.trim().toLowerCase();
return Boolean.parseBoolean(p);
}
return legacyDumpCoverage;
}
public static String getRouteDump(String legacyDumpRoute) {
+ // JVM system property take precedence
String p = System.getProperty(ROUTE_DUMP_ENABLED);
+ if (p == null || p.isBlank()) {
+ p = legacyDumpRoute;
+ }
if (p != null) {
- // JVM system property take precedence
- return p;
+ p = p.trim().toLowerCase();
+ if ("false".equals(p)) {
+ p = null;
+ } else if ("true".equals(p)) {
+ p = "xml"; // xml is default
+ }
}
- return legacyDumpRoute;
+ return p;
}
}
diff --git a/components/camel-test/camel-test-spring-junit5/src/main/java/org/apache/camel/test/spring/junit5/CamelAnnotationsHandler.java b/components/camel-test/camel-test-spring-junit5/src/main/java/org/apache/camel/test/spring/junit5/CamelAnnotationsHandler.java
index 2877fad54a1..4a1c450d7df 100644
--- a/components/camel-test/camel-test-spring-junit5/src/main/java/org/apache/camel/test/spring/junit5/CamelAnnotationsHandler.java
+++ b/components/camel-test/camel-test-spring-junit5/src/main/java/org/apache/camel/test/spring/junit5/CamelAnnotationsHandler.java
@@ -37,7 +37,6 @@ import org.apache.camel.spi.DumpRoutesStrategy;
import org.apache.camel.spi.EventNotifier;
import org.apache.camel.spi.PropertiesComponent;
import org.apache.camel.spring.SpringCamelContext;
-import org.apache.camel.test.junit5.util.CamelContextTestHelper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.config.BeanPostProcessor;
@@ -45,6 +44,7 @@ import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.core.annotation.AnnotationUtils;
import static org.apache.camel.test.junit5.TestSupport.isCamelDebugPresent;
+import static org.apache.camel.test.junit5.util.CamelContextTestHelper.getRouteDump;
import static org.apache.camel.test.junit5.util.CamelContextTestHelper.isRouteCoverageEnabled;
public final class CamelAnnotationsHandler {
@@ -56,7 +56,6 @@ public final class CamelAnnotationsHandler {
/**
* Cleanup/restore global state to defaults / pre-test values after the test setup is complete.
- *
*/
public static void cleanup() {
DefaultCamelContext.clearOptions();
@@ -130,7 +129,7 @@ public final class CamelAnnotationsHandler {
CamelSpringTestHelper.doToSpringCamelContexts(context, new CamelSpringTestHelper.DoToSpringCamelContextsStrategy() {
@Override
public void execute(String contextName, SpringCamelContext camelContext) throws Exception {
- LOGGER.info("Enabling RouteCoverage");
+ LOGGER.info("Enabling @RouteCoverage");
EventNotifier notifier = new RouteCoverageEventNotifier(testClass.getName(), testMethod);
camelContext.addService(notifier, true);
camelContext.getManagementStrategy().addEventNotifier(notifier);
@@ -147,26 +146,23 @@ public final class CamelAnnotationsHandler {
*/
public static void handleRouteDumpEnable(ConfigurableApplicationContext context, Class<?> testClass, Function testMethod)
throws Exception {
+ String format = null;
if (testClass.isAnnotationPresent(EnableRouteDump.class)) {
- String format = testClass.getAnnotation(EnableRouteDump.class).format();
- if ("false".equals(format)) {
- format = null;
- }
- if (format != null) {
- final String dump = format.toLowerCase();
- CamelSpringTestHelper.doToSpringCamelContexts(context,
- new CamelSpringTestHelper.DoToSpringCamelContextsStrategy() {
-
- @Override
- public void execute(String contextName, SpringCamelContext camelContext) throws Exception {
- LOGGER.info("Enabling EnableRouteDump");
- RouteDumpEventNotifier notifier
- = new RouteDumpEventNotifier(testClass.getName(), testMethod, dump);
- camelContext.addService(notifier, true);
- camelContext.getManagementStrategy().addEventNotifier(notifier);
- }
- });
- }
+ format = testClass.getAnnotation(EnableRouteDump.class).format();
+ }
+ format = getRouteDump(format);
+ if (format != null && !"false".equals(format) && !format.isBlank()) {
+ final String dump = format.toLowerCase();
+ CamelSpringTestHelper.doToSpringCamelContexts(context, new CamelSpringTestHelper.DoToSpringCamelContextsStrategy() {
+ @Override
+ public void execute(String contextName, SpringCamelContext camelContext) throws Exception {
+ LOGGER.info("Enabling @EnableRouteDump");
+ RouteDumpEventNotifier notifier
+ = new RouteDumpEventNotifier(testClass.getName(), testMethod, dump);
+ camelContext.addService(notifier, true);
+ camelContext.getManagementStrategy().addEventNotifier(notifier);
+ }
+ });
}
}
@@ -220,13 +216,10 @@ public final class CamelAnnotationsHandler {
if (testClass.isAnnotationPresent(EnableRouteDump.class)) {
format = testClass.getAnnotation(EnableRouteDump.class).format();
}
- if ("false".equals(format)) {
- format = null;
- }
- if (format != null) {
+ format = getRouteDump(format);
+ if (format != null && !"false".equals(format) && !format.isBlank()) {
final String dump = format.toLowerCase();
CamelSpringTestHelper.doToSpringCamelContexts(context, new CamelSpringTestHelper.DoToSpringCamelContextsStrategy() {
-
@Override
public void execute(String contextName, SpringCamelContext camelContext) throws Exception {
LOGGER.debug("Dumping Route");
@@ -251,7 +244,6 @@ public final class CamelAnnotationsHandler {
camelContext.getManagementStrategy().removeEventNotifier(eventNotifier);
camelContext.removeService(eventNotifier);
}
-
}
});
}
diff --git a/components/camel-test/camel-test-spring-junit5/src/main/java/org/apache/camel/test/spring/junit5/CamelSpringBootTest.java b/components/camel-test/camel-test-spring-junit5/src/main/java/org/apache/camel/test/spring/junit5/CamelSpringBootTest.java
index 81ddec6e677..0fdcbb816ee 100644
--- a/components/camel-test/camel-test-spring-junit5/src/main/java/org/apache/camel/test/spring/junit5/CamelSpringBootTest.java
+++ b/components/camel-test/camel-test-spring-junit5/src/main/java/org/apache/camel/test/spring/junit5/CamelSpringBootTest.java
@@ -34,10 +34,10 @@ import org.springframework.test.context.junit.jupiter.SpringExtension;
@Target({ ElementType.TYPE })
@ExtendWith(SpringExtension.class)
@TestExecutionListeners(value = {
- CamelSpringTestContextLoaderTestExecutionListener.class,
- CamelSpringBootExecutionListener.class,
- StopWatchTestExecutionListener.class
- },
+ CamelSpringTestContextLoaderTestExecutionListener.class,
+ CamelSpringBootExecutionListener.class,
+ StopWatchTestExecutionListener.class
+},
mergeMode = TestExecutionListeners.MergeMode.MERGE_WITH_DEFAULTS)
public @interface CamelSpringBootTest {