This is an automated email from the ASF dual-hosted git repository.
davsclaus pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/main by this push:
new 603f7a63a64d CAMEL-24318: improve assertions in jbang mcp
603f7a63a64d is described below
commit 603f7a63a64d391581e8dd0500249dd8aff6f8c4
Author: Aurélien Pupier <[email protected]>
AuthorDate: Mon Aug 3 10:50:35 2026 +0200
CAMEL-24318: improve assertions in jbang mcp
Improve test assertions following Sonar reported issues: add isNotEmpty()
guards before allMatch/allSatisfy to prevent vacuous truth on empty
collections, use idiomatic AssertJ collection size assertions, chain
assertions for readability, and migrate deprecated Jackson API.
Closes #25280
---
.../dsl/jbang/core/commands/mcp/CatalogToolsTest.java | 14 ++++++++------
.../core/commands/mcp/ComponentPropertiesToolsTest.java | 1 +
.../dsl/jbang/core/commands/mcp/ExplainToolsTest.java | 8 +++++---
.../dsl/jbang/core/commands/mcp/SecurityScanToolsTest.java | 1 +
4 files changed, 15 insertions(+), 9 deletions(-)
diff --git
a/dsl/camel-jbang/camel-jbang-mcp/src/test/java/org/apache/camel/dsl/jbang/core/commands/mcp/CatalogToolsTest.java
b/dsl/camel-jbang/camel-jbang-mcp/src/test/java/org/apache/camel/dsl/jbang/core/commands/mcp/CatalogToolsTest.java
index 0ef1dbd0ac8f..57ddd62c027f 100644
---
a/dsl/camel-jbang/camel-jbang-mcp/src/test/java/org/apache/camel/dsl/jbang/core/commands/mcp/CatalogToolsTest.java
+++
b/dsl/camel-jbang/camel-jbang-mcp/src/test/java/org/apache/camel/dsl/jbang/core/commands/mcp/CatalogToolsTest.java
@@ -56,9 +56,9 @@ class CatalogToolsTest {
CatalogTools.ComponentListResult result =
tools.camel_catalog_components(null, null, null, null, null, null);
- assertThat(result.components().size())
+ assertThat(result.components())
.as("default limit should cap results at 20")
- .isLessThanOrEqualTo(20);
+ .hasSizeLessThanOrEqualTo(20);
}
@Test
@@ -114,9 +114,9 @@ class CatalogToolsTest {
assertThat(defaultResult.endpointOptions()).isNotEmpty();
assertThat(allResult.endpointOptions()).isNotEmpty();
- assertThat(defaultResult.endpointOptions().size())
+ assertThat(defaultResult.endpointOptions())
.as("default 'common' scope must filter out
advanced/deprecated options")
- .isLessThan(allResult.endpointOptions().size());
+ .hasSizeLessThan(allResult.endpointOptions().size());
// 'common' must not include any deprecated option (advanced options
are not exposed in the
// returned OptionInfo, but deprecated is hidden internally via the
label/deprecated flags)
@@ -132,7 +132,9 @@ class CatalogToolsTest {
CatalogTools.ComponentDetailResult result
= tools.camel_catalog_component_doc("kafka", null, "required",
null, null, null, null);
-
assertThat(result.endpointOptions()).allMatch(CatalogTools.OptionInfo::required);
+ assertThat(result.endpointOptions())
+ .isNotEmpty()
+ .allMatch(CatalogTools.OptionInfo::required);
}
@Test
@@ -142,8 +144,8 @@ class CatalogToolsTest {
CatalogTools.ComponentDetailResult result
= tools.camel_catalog_component_doc("kafka", "topic", "all",
null, null, null, null);
- assertThat(result.endpointOptions()).isNotEmpty();
assertThat(result.endpointOptions())
+ .isNotEmpty()
.allMatch(o -> o.name().toLowerCase().contains("topic"));
}
diff --git
a/dsl/camel-jbang/camel-jbang-mcp/src/test/java/org/apache/camel/dsl/jbang/core/commands/mcp/ComponentPropertiesToolsTest.java
b/dsl/camel-jbang/camel-jbang-mcp/src/test/java/org/apache/camel/dsl/jbang/core/commands/mcp/ComponentPropertiesToolsTest.java
index 42fa77a80cf8..e530b9fae229 100644
---
a/dsl/camel-jbang/camel-jbang-mcp/src/test/java/org/apache/camel/dsl/jbang/core/commands/mcp/ComponentPropertiesToolsTest.java
+++
b/dsl/camel-jbang/camel-jbang-mcp/src/test/java/org/apache/camel/dsl/jbang/core/commands/mcp/ComponentPropertiesToolsTest.java
@@ -85,6 +85,7 @@ class ComponentPropertiesToolsTest {
= tools.camel_component_properties("timer", null, null, null);
assertThat(result.componentProperties())
+ .isNotEmpty()
.allSatisfy(p -> {
assertThat(p.name()).isNotBlank();
assertThat(p.javaType()).isNotBlank();
diff --git
a/dsl/camel-jbang/camel-jbang-mcp/src/test/java/org/apache/camel/dsl/jbang/core/commands/mcp/ExplainToolsTest.java
b/dsl/camel-jbang/camel-jbang-mcp/src/test/java/org/apache/camel/dsl/jbang/core/commands/mcp/ExplainToolsTest.java
index dd4d39928e90..5a2b37c28564 100644
---
a/dsl/camel-jbang/camel-jbang-mcp/src/test/java/org/apache/camel/dsl/jbang/core/commands/mcp/ExplainToolsTest.java
+++
b/dsl/camel-jbang/camel-jbang-mcp/src/test/java/org/apache/camel/dsl/jbang/core/commands/mcp/ExplainToolsTest.java
@@ -54,15 +54,17 @@ class ExplainToolsTest {
assertThat(Arrays.stream(ExplainTools.RouteContextResult.class.getRecordComponents())
.map(RecordComponent::getName))
.as("RouteContextResult must not echo input route")
+ .isNotEmpty()
.doesNotContain("route");
ObjectMapper mapper = new ObjectMapper();
- mapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);
+ mapper.setDefaultPropertyInclusion(JsonInclude.Include.NON_NULL);
String json = mapper.writeValueAsString(result);
// Distinctive input markers must not appear in the response payload.
- assertThat(json).doesNotContain(marker);
- assertThat(json).contains("\"format\":\"yaml\"");
+ assertThat(json)
+ .doesNotContain(marker)
+ .contains("\"format\":\"yaml\"");
}
@Test
diff --git
a/dsl/camel-jbang/camel-jbang-mcp/src/test/java/org/apache/camel/dsl/jbang/core/commands/mcp/SecurityScanToolsTest.java
b/dsl/camel-jbang/camel-jbang-mcp/src/test/java/org/apache/camel/dsl/jbang/core/commands/mcp/SecurityScanToolsTest.java
index 2eb0b5f4d247..0e7ca9da2beb 100644
---
a/dsl/camel-jbang/camel-jbang-mcp/src/test/java/org/apache/camel/dsl/jbang/core/commands/mcp/SecurityScanToolsTest.java
+++
b/dsl/camel-jbang/camel-jbang-mcp/src/test/java/org/apache/camel/dsl/jbang/core/commands/mcp/SecurityScanToolsTest.java
@@ -348,6 +348,7 @@ class SecurityScanToolsTest {
assertThat(result.findings())
.filteredOn(f -> f.category().equals("secret"))
+ .isNotEmpty()
.allMatch(f -> f.line() == 3);
}