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 <[email protected]> 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); } }
