Skip to content

Commit 16cfb8a

Browse files
committed
spring-ai-community#72 follow up. Fix formatting and json testing
Signed-off-by: Christian Tzolov <[email protected]>
1 parent 6b290e1 commit 16cfb8a

File tree

2 files changed

+27
-8
lines changed

2 files changed

+27
-8
lines changed

mcp-annotations/src/test/java/org/springaicommunity/mcp/provider/tool/SyncMcpToolProviderTests.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -588,9 +588,9 @@ public String defaultAnnotationsTool(String input) {
588588
void testToolWithOutputSchemaGeneration() {
589589

590590
// Define a custom result class
591-
record CustomResult(@JsonPropertyDescription("customResultMessage") @JsonProperty(required = false)
592-
String message,
593-
@JsonProperty(required = true) int count) {
591+
record CustomResult(
592+
@JsonPropertyDescription("customResultMessage") @JsonProperty(required = false) String message,
593+
@JsonProperty(required = true) int count) {
594594
}
595595

596596
class OutputSchemaTool {

mcp-annotations/src/test/java/org/springaicommunity/mcp/provider/tool/SyncStatelessMcpToolProviderTests.java

Lines changed: 24 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626

2727
import org.junit.jupiter.api.Test;
2828
import org.springaicommunity.mcp.annotation.McpTool;
29-
29+
import org.springaicommunity.mcp.method.tool.utils.JsonParser;
3030
import io.modelcontextprotocol.server.McpStatelessServerFeatures.SyncToolSpecification;
3131
import io.modelcontextprotocol.common.McpTransportContext;
3232
import io.modelcontextprotocol.spec.McpSchema;
@@ -608,12 +608,31 @@ public List<CustomResult> outputSchemaTool(String input) {
608608
assertThat(toolSpec.tool().name()).isEqualTo("output-schema-tool");
609609
// Output schema should be generated for complex types
610610
assertThat(toolSpec.tool().outputSchema()).isNotNull();
611-
String outputSchemaString = toolSpec.tool().outputSchema().toString();
611+
String outputSchemaString = JsonParser.toJson(toolSpec.tool().outputSchema());
612612
assertThat(outputSchemaString).contains("message");
613613
assertThat(outputSchemaString).contains("count");
614-
assertThat(outputSchemaString).isEqualTo(
615-
"{$schema=https://json-schema.org/draft/2020-12/schema, type=array, items={type=object, properties={count={type=integer, format=int32}, message={type=string}}}}");
616-
614+
assertThatJson(outputSchemaString).when(Option.IGNORING_ARRAY_ORDER).isEqualTo(json("""
615+
{
616+
"$schema": "https://json-schema.org/draft/2020-12/schema",
617+
"type": "array",
618+
"items": {
619+
"type": "object",
620+
"properties": {
621+
"count": {
622+
"type": "integer",
623+
"format": "int32"
624+
},
625+
"message": {
626+
"type": "string"
627+
}
628+
},
629+
"required": [
630+
"count",
631+
"message"
632+
]
633+
}
634+
}
635+
"""));
617636
}
618637

619638
@Test

0 commit comments

Comments
 (0)