You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by or...@apache.org on 2026/01/28 10:00:46 UTC
(camel) 02/02: Address PR review feedback for camel-console tests
This is an automated email from the ASF dual-hosted git repository.
orpiske pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git
commit 8c0781d935fc8922bbfed628f61662519a6c2647
Author: Otavio Rodolfo Piske <an...@gmail.com>
AuthorDate: Wed Jan 28 09:13:41 2026 +0000
Address PR review feedback for camel-console tests
- Remove log.info() calls from test helper methods to avoid slowness
- Use AssertJ for clearer assertion error messages
- Use assertInstanceOf instead of assertTrue(x instanceof Y)
- Remove redundant assertNotNull before assertInstanceOf
- Remove null checks for expectedJsonKey in parameterized tests
- Use correct JSON keys that are always present in console output
---
core/camel-console/pom.xml | 7 +-
.../camel/impl/console/AbstractDevConsoleTest.java | 4 -
.../camel/impl/console/BeanDevConsoleTest.java | 33 ++-------
.../console/DefaultDevConsoleRegistryTest.java | 3 +-
.../impl/console/RouteBasedDevConsoleTest.java | 7 +-
.../camel/impl/console/SimpleDevConsoleTest.java | 86 ++++++++++++----------
6 files changed, 59 insertions(+), 81 deletions(-)
diff --git a/core/camel-console/pom.xml b/core/camel-console/pom.xml
index d99dc8227466..03bb10b832c3 100644
--- a/core/camel-console/pom.xml
+++ b/core/camel-console/pom.xml
@@ -57,12 +57,7 @@
<type>test-jar</type>
<scope>test</scope>
</dependency>
- <dependency>
- <groupId>org.apache.camel</groupId>
- <artifactId>camel-management</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
+ <dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter</artifactId>
<scope>test</scope>
diff --git a/core/camel-console/src/test/java/org/apache/camel/impl/console/AbstractDevConsoleTest.java b/core/camel-console/src/test/java/org/apache/camel/impl/console/AbstractDevConsoleTest.java
index e93a7e6afa4c..0d2d950e5c38 100644
--- a/core/camel-console/src/test/java/org/apache/camel/impl/console/AbstractDevConsoleTest.java
+++ b/core/camel-console/src/test/java/org/apache/camel/impl/console/AbstractDevConsoleTest.java
@@ -66,7 +66,6 @@ public abstract class AbstractDevConsoleTest extends ContextTestSupport {
protected String callText(DevConsole console) {
String out = (String) console.call(DevConsole.MediaType.TEXT);
assertNotNull(out, "TEXT output should not be null");
- log.info(out);
return out;
}
@@ -76,7 +75,6 @@ public abstract class AbstractDevConsoleTest extends ContextTestSupport {
protected String callText(DevConsole console, Map<String, Object> options) {
String out = (String) console.call(DevConsole.MediaType.TEXT, options);
assertNotNull(out, "TEXT output should not be null");
- log.info(out);
return out;
}
@@ -86,7 +84,6 @@ public abstract class AbstractDevConsoleTest extends ContextTestSupport {
protected JsonObject callJson(DevConsole console) {
JsonObject out = (JsonObject) console.call(DevConsole.MediaType.JSON);
assertNotNull(out, "JSON output should not be null");
- log.info(out.toJson());
return out;
}
@@ -96,7 +93,6 @@ public abstract class AbstractDevConsoleTest extends ContextTestSupport {
protected JsonObject callJson(DevConsole console, Map<String, Object> options) {
JsonObject out = (JsonObject) console.call(DevConsole.MediaType.JSON, options);
assertNotNull(out, "JSON output should not be null");
- log.info(out.toJson());
return out;
}
}
diff --git a/core/camel-console/src/test/java/org/apache/camel/impl/console/BeanDevConsoleTest.java b/core/camel-console/src/test/java/org/apache/camel/impl/console/BeanDevConsoleTest.java
index 68a9a6b043d1..b440dcf3e1fd 100644
--- a/core/camel-console/src/test/java/org/apache/camel/impl/console/BeanDevConsoleTest.java
+++ b/core/camel-console/src/test/java/org/apache/camel/impl/console/BeanDevConsoleTest.java
@@ -27,6 +27,8 @@ import org.apache.camel.util.json.JsonObject;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
+import static org.assertj.core.api.Assertions.assertThat;
+
public class BeanDevConsoleTest extends ContextTestSupport {
@Override
@@ -43,11 +45,7 @@ public class BeanDevConsoleTest extends ContextTestSupport {
Assertions.assertEquals("bean", console.getId());
String out = (String) console.call(DevConsole.MediaType.TEXT);
- Assertions.assertNotNull(out);
- log.info(out);
- Assertions.assertTrue(out.contains("myBean"));
- Assertions.assertTrue(out.contains("anotherBean"));
- Assertions.assertTrue(out.contains("TestBean"));
+ assertThat(out).contains("myBean", "anotherBean", "TestBean");
}
@Test
@@ -57,16 +55,13 @@ public class BeanDevConsoleTest extends ContextTestSupport {
JsonObject out = (JsonObject) console.call(DevConsole.MediaType.JSON);
Assertions.assertNotNull(out);
- log.info(out.toJson());
JsonObject beans = out.getMap("beans");
- Assertions.assertNotNull(beans);
- Assertions.assertTrue(beans.containsKey("myBean"));
- Assertions.assertTrue(beans.containsKey("anotherBean"));
+ assertThat(beans).containsKey("myBean").containsKey("anotherBean");
JsonObject myBean = beans.getMap("myBean");
Assertions.assertEquals("myBean", myBean.getString("name"));
- Assertions.assertTrue(myBean.getString("type").contains("TestBean"));
+ assertThat(myBean.getString("type")).contains("TestBean");
}
@Test
@@ -78,10 +73,7 @@ public class BeanDevConsoleTest extends ContextTestSupport {
options.put(BeanDevConsole.FILTER, "myBean");
String out = (String) console.call(DevConsole.MediaType.TEXT, options);
- Assertions.assertNotNull(out);
- log.info(out);
- Assertions.assertTrue(out.contains("myBean"));
- Assertions.assertFalse(out.contains("anotherBean"));
+ assertThat(out).contains("myBean").doesNotContain("anotherBean");
}
@Test
@@ -112,7 +104,6 @@ public class BeanDevConsoleTest extends ContextTestSupport {
JsonObject out = (JsonObject) console.call(DevConsole.MediaType.JSON, options);
Assertions.assertNotNull(out);
- log.info(out.toJson());
JsonObject beans = out.getMap("beans");
JsonObject myBean = beans.getMap("myBean");
@@ -134,7 +125,6 @@ public class BeanDevConsoleTest extends ContextTestSupport {
JsonObject out = (JsonObject) console.call(DevConsole.MediaType.JSON, options);
Assertions.assertNotNull(out);
- log.info(out.toJson());
JsonObject beans = out.getMap("beans");
JsonObject anotherBean = beans.getMap("anotherBean");
@@ -160,7 +150,6 @@ public class BeanDevConsoleTest extends ContextTestSupport {
JsonObject out = (JsonObject) console.call(DevConsole.MediaType.JSON, options);
Assertions.assertNotNull(out);
- log.info(out.toJson());
JsonObject beans = out.getMap("beans");
JsonObject anotherBean = beans.getMap("anotherBean");
@@ -185,12 +174,9 @@ public class BeanDevConsoleTest extends ContextTestSupport {
options.put(BeanDevConsole.INTERNAL, "false");
String out = (String) console.call(DevConsole.MediaType.TEXT, options);
- Assertions.assertNotNull(out);
- log.info(out);
// Our test beans are in org.apache.camel package, so they are treated as internal
// and should be excluded when internal=false
- Assertions.assertFalse(out.contains("myBean"));
- Assertions.assertFalse(out.contains("anotherBean"));
+ assertThat(out).doesNotContain("myBean", "anotherBean");
}
@Test
@@ -202,11 +188,8 @@ public class BeanDevConsoleTest extends ContextTestSupport {
options.put(BeanDevConsole.INTERNAL, "true");
String out = (String) console.call(DevConsole.MediaType.TEXT, options);
- Assertions.assertNotNull(out);
- log.info(out);
// When internal=true, all beans including our test beans should be present
- Assertions.assertTrue(out.contains("myBean"));
- Assertions.assertTrue(out.contains("anotherBean"));
+ assertThat(out).contains("myBean", "anotherBean");
}
public static class TestBean {
diff --git a/core/camel-console/src/test/java/org/apache/camel/impl/console/DefaultDevConsoleRegistryTest.java b/core/camel-console/src/test/java/org/apache/camel/impl/console/DefaultDevConsoleRegistryTest.java
index c77b8c7db368..4e5af79bd7d0 100644
--- a/core/camel-console/src/test/java/org/apache/camel/impl/console/DefaultDevConsoleRegistryTest.java
+++ b/core/camel-console/src/test/java/org/apache/camel/impl/console/DefaultDevConsoleRegistryTest.java
@@ -28,8 +28,7 @@ public class DefaultDevConsoleRegistryTest extends ContextTestSupport {
@Test
public void testRegistry() {
DevConsoleRegistry registry = context.getCamelContextExtension().getContextPlugin(DevConsoleRegistry.class);
- Assertions.assertNotNull(registry);
- Assertions.assertTrue(registry instanceof DefaultDevConsoleRegistry);
+ Assertions.assertInstanceOf(DefaultDevConsoleRegistry.class, registry);
Assertions.assertTrue(registry.isEnabled());
}
diff --git a/core/camel-console/src/test/java/org/apache/camel/impl/console/RouteBasedDevConsoleTest.java b/core/camel-console/src/test/java/org/apache/camel/impl/console/RouteBasedDevConsoleTest.java
index 09c315d3202e..18aed23ef61b 100644
--- a/core/camel-console/src/test/java/org/apache/camel/impl/console/RouteBasedDevConsoleTest.java
+++ b/core/camel-console/src/test/java/org/apache/camel/impl/console/RouteBasedDevConsoleTest.java
@@ -25,7 +25,7 @@ import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.Arguments;
import org.junit.jupiter.params.provider.MethodSource;
-import static org.junit.jupiter.api.Assertions.assertTrue;
+import static org.assertj.core.api.Assertions.assertThat;
/**
* Parameterized test for DevConsoles that require routes to be configured.
@@ -76,9 +76,6 @@ public class RouteBasedDevConsoleTest extends AbstractDevConsoleTest {
DevConsole console = assertConsoleExists(consoleId);
JsonObject out = callJson(console);
- if (expectedJsonKey != null) {
- assertTrue(out.containsKey(expectedJsonKey),
- "JSON output should contain key '" + expectedJsonKey + "'");
- }
+ assertThat(out).containsKey(expectedJsonKey);
}
}
diff --git a/core/camel-console/src/test/java/org/apache/camel/impl/console/SimpleDevConsoleTest.java b/core/camel-console/src/test/java/org/apache/camel/impl/console/SimpleDevConsoleTest.java
index 018f85743a38..458c9b71fa96 100644
--- a/core/camel-console/src/test/java/org/apache/camel/impl/console/SimpleDevConsoleTest.java
+++ b/core/camel-console/src/test/java/org/apache/camel/impl/console/SimpleDevConsoleTest.java
@@ -24,8 +24,7 @@ import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.Arguments;
import org.junit.jupiter.params.provider.MethodSource;
-import static org.junit.jupiter.api.Assertions.assertNotNull;
-import static org.junit.jupiter.api.Assertions.assertTrue;
+import static org.assertj.core.api.Assertions.assertThat;
/**
* Parameterized test for simple DevConsoles that don't require special setup. Each console is tested for basic TEXT and
@@ -34,57 +33,66 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
public class SimpleDevConsoleTest extends AbstractDevConsoleTest {
/**
- * Provides test parameters: console ID, optional text assertion, optional JSON key to check.
+ * Provides test parameters: console ID, expected JSON key.
*/
static Stream<Arguments> consoleParameters() {
return Stream.of(
- // Console ID, text contains (nullable), JSON key to verify (nullable)
- Arguments.of("blocked", "Blocked:", "blocked"),
- Arguments.of("circuit-breaker", null, "circuitBreakers"),
- Arguments.of("context", null, null),
- Arguments.of("debug", null, null),
- Arguments.of("gc", null, "garbageCollectors"),
- Arguments.of("health", null, "checks"),
- Arguments.of("inflight", "Inflight:", "inflight"),
- Arguments.of("internal-tasks", null, null),
- Arguments.of("java-security", null, "securityProviders"),
- Arguments.of("jvm", null, null),
- Arguments.of("log", null, null),
- Arguments.of("memory", null, null),
- Arguments.of("message-history", null, null),
- Arguments.of("reload", null, null),
- Arguments.of("rest", null, null),
- Arguments.of("service", null, null),
- Arguments.of("startup-recorder", null, null),
- Arguments.of("system-properties", null, null),
- Arguments.of("thread", null, null),
- Arguments.of("top", null, null),
- Arguments.of("trace", null, null),
- Arguments.of("transformers", null, null),
- Arguments.of("type-converters", null, null));
+ // Console ID, JSON key to verify (use keys that are always present in output)
+ Arguments.of("blocked", "blocked"),
+ Arguments.of("circuit-breaker", "circuitBreakers"),
+ Arguments.of("context", "name"),
+ Arguments.of("gc", "garbageCollectors"),
+ Arguments.of("health", "checks"),
+ Arguments.of("inflight", "inflight"),
+ Arguments.of("internal-tasks", "tasks"),
+ Arguments.of("java-security", "securityProviders"),
+ Arguments.of("jvm", "vmName"),
+ Arguments.of("memory", "heapMemoryUsed"),
+ Arguments.of("system-properties", "systemProperties"),
+ Arguments.of("thread", "threads"),
+ Arguments.of("transformers", "size"),
+ Arguments.of("type-converters", "statistics"));
}
@ParameterizedTest(name = "{0} console - TEXT output")
@MethodSource("consoleParameters")
- void testConsoleText(String consoleId, String expectedTextContent, String expectedJsonKey) {
+ void testConsoleText(String consoleId, String expectedJsonKey) {
DevConsole console = assertConsoleExists(consoleId);
- String out = callText(console);
-
- if (expectedTextContent != null) {
- assertTrue(out.contains(expectedTextContent),
- "TEXT output should contain '" + expectedTextContent + "'");
- }
+ // Just verify the console produces TEXT output without error
+ callText(console);
}
@ParameterizedTest(name = "{0} console - JSON output")
@MethodSource("consoleParameters")
- void testConsoleJson(String consoleId, String expectedTextContent, String expectedJsonKey) {
+ void testConsoleJson(String consoleId, String expectedJsonKey) {
DevConsole console = assertConsoleExists(consoleId);
JsonObject out = callJson(console);
- if (expectedJsonKey != null) {
- assertNotNull(out.get(expectedJsonKey),
- "JSON output should contain key '" + expectedJsonKey + "'");
- }
+ assertThat(out).containsKey(expectedJsonKey);
+ }
+
+ /**
+ * Consoles with conditional output - just verify they produce output without errors.
+ */
+ static Stream<String> conditionalOutputConsoleIds() {
+ return Stream.of(
+ "debug",
+ "log",
+ "message-history",
+ "reload",
+ "rest",
+ "service",
+ "startup-recorder",
+ "top",
+ "trace");
+ }
+
+ @ParameterizedTest(name = "{0} console - basic output")
+ @MethodSource("conditionalOutputConsoleIds")
+ void testConditionalOutputConsole(String consoleId) {
+ DevConsole console = assertConsoleExists(consoleId);
+ // These consoles have conditional output - just verify they work without errors
+ callText(console);
+ callJson(console);
}
}