This is an automated email from the ASF dual-hosted git repository. jamesbognar pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/juneau.git
commit 3bd3f549cd6de30f996353a2bde053183c94cd97 Author: James Bognar <[email protected]> AuthorDate: Tue Jul 28 16:02:49 2026 -0400 refactor: extract JSON-RPC envelope beans into juneau-bean-jsonrpc Moves JsonRpcRequest/JsonRpcResponse/JsonRpcError/McpException out of juneau-bean-mcp into a revision-neutral envelope module, drops the last cross-module javadoc reference from the envelope into the MCP module, and relocates the McpException tests. Characterization fixtures replay byte-identical. Co-authored-by: Cursor <[email protected]> --- .../apache/juneau/bean/jsonrpc}/JsonRpcError.java | 2 +- .../juneau/bean/jsonrpc}/JsonRpcRequest.java | 6 +- .../juneau/bean/jsonrpc}/JsonRpcResponse.java | 2 +- .../apache/juneau/bean/jsonrpc}/McpException.java | 2 +- .../src/test/java/org/apache/juneau/TestUtils.java | 40 +++++++++++++ .../juneau/bean/jsonrpc/McpException_Test.java | 68 ++++++++++++++++++++++ juneau-bean/juneau-bean-mcp/pom.xml | 6 ++ .../juneau/bean/mcp/McpBeans_RoundTrip_Test.java | 23 +------- .../juneau/rest/server/mcp/McpDispatcher_Test.java | 1 + .../rest/server/mcp/McpHandlerDefaults_Test.java | 18 ------ .../rest/server/mcp/McpRestServlet_Test.java | 1 + .../rest/server/mcp/McpTypedHandlers_Test.java | 1 + juneau-rest/juneau-rest-server-mcp/pom.xml | 5 ++ .../org/apache/juneau/rest/server/mcp/Mcp.java | 1 + .../juneau/rest/server/mcp/McpDispatcher.java | 1 + .../apache/juneau/rest/server/mcp/McpEndpoint.java | 1 + .../juneau/rest/server/mcp/McpRestServlet.java | 1 + .../juneau/rest/server/mcp/McpTypedHandlers.java | 1 + .../rest/server/mcp/Characterization_Test.java | 1 + .../juneau/rest/server/mcp/McpDispatcher_Test.java | 1 + .../rest/server/mcp/McpHandlerDefaults_Test.java | 18 ------ .../rest/server/mcp/McpRestServlet_Test.java | 1 + .../rest/server/mcp/McpTypedHandlers_Test.java | 1 + 23 files changed, 138 insertions(+), 64 deletions(-) diff --git a/juneau-bean/juneau-bean-mcp/src/main/java/org/apache/juneau/bean/mcp/JsonRpcError.java b/juneau-bean/juneau-bean-jsonrpc/src/main/java/org/apache/juneau/bean/jsonrpc/JsonRpcError.java similarity index 98% rename from juneau-bean/juneau-bean-mcp/src/main/java/org/apache/juneau/bean/mcp/JsonRpcError.java rename to juneau-bean/juneau-bean-jsonrpc/src/main/java/org/apache/juneau/bean/jsonrpc/JsonRpcError.java index 38af45c257..3fd66c2532 100644 --- a/juneau-bean/juneau-bean-mcp/src/main/java/org/apache/juneau/bean/mcp/JsonRpcError.java +++ b/juneau-bean/juneau-bean-jsonrpc/src/main/java/org/apache/juneau/bean/jsonrpc/JsonRpcError.java @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.juneau.bean.mcp; +package org.apache.juneau.bean.jsonrpc; import org.apache.juneau.marshall.*; diff --git a/juneau-bean/juneau-bean-mcp/src/main/java/org/apache/juneau/bean/mcp/JsonRpcRequest.java b/juneau-bean/juneau-bean-jsonrpc/src/main/java/org/apache/juneau/bean/jsonrpc/JsonRpcRequest.java similarity index 93% rename from juneau-bean/juneau-bean-mcp/src/main/java/org/apache/juneau/bean/mcp/JsonRpcRequest.java rename to juneau-bean/juneau-bean-jsonrpc/src/main/java/org/apache/juneau/bean/jsonrpc/JsonRpcRequest.java index 0ab652de14..e16851b085 100644 --- a/juneau-bean/juneau-bean-mcp/src/main/java/org/apache/juneau/bean/mcp/JsonRpcRequest.java +++ b/juneau-bean/juneau-bean-jsonrpc/src/main/java/org/apache/juneau/bean/jsonrpc/JsonRpcRequest.java @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.juneau.bean.mcp; +package org.apache.juneau.bean.jsonrpc; import org.apache.juneau.marshall.*; @@ -33,7 +33,7 @@ public class JsonRpcRequest { private Object params; /** - * JSON-RPC protocol version (typically {@value McpProtocol#JSON_RPC_2_0}). + * JSON-RPC protocol version (typically {@code "2.0"}). * * @return The version token, or {@code null} if not set. */ @@ -73,7 +73,7 @@ public class JsonRpcRequest { } /** - * JSON-RPC method name (for example {@link McpMethods#TOOLS_LIST}). + * JSON-RPC method name (for example {@code "tools/list"}). * * @return The method, or {@code null} if not set. */ diff --git a/juneau-bean/juneau-bean-mcp/src/main/java/org/apache/juneau/bean/mcp/JsonRpcResponse.java b/juneau-bean/juneau-bean-jsonrpc/src/main/java/org/apache/juneau/bean/jsonrpc/JsonRpcResponse.java similarity index 98% rename from juneau-bean/juneau-bean-mcp/src/main/java/org/apache/juneau/bean/mcp/JsonRpcResponse.java rename to juneau-bean/juneau-bean-jsonrpc/src/main/java/org/apache/juneau/bean/jsonrpc/JsonRpcResponse.java index 202f09ba8f..0e4a38628c 100644 --- a/juneau-bean/juneau-bean-mcp/src/main/java/org/apache/juneau/bean/mcp/JsonRpcResponse.java +++ b/juneau-bean/juneau-bean-jsonrpc/src/main/java/org/apache/juneau/bean/jsonrpc/JsonRpcResponse.java @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.juneau.bean.mcp; +package org.apache.juneau.bean.jsonrpc; import org.apache.juneau.marshall.*; diff --git a/juneau-bean/juneau-bean-mcp/src/main/java/org/apache/juneau/bean/mcp/McpException.java b/juneau-bean/juneau-bean-jsonrpc/src/main/java/org/apache/juneau/bean/jsonrpc/McpException.java similarity index 98% rename from juneau-bean/juneau-bean-mcp/src/main/java/org/apache/juneau/bean/mcp/McpException.java rename to juneau-bean/juneau-bean-jsonrpc/src/main/java/org/apache/juneau/bean/jsonrpc/McpException.java index 3bcf0d22c3..dd0bed283b 100644 --- a/juneau-bean/juneau-bean-mcp/src/main/java/org/apache/juneau/bean/mcp/McpException.java +++ b/juneau-bean/juneau-bean-jsonrpc/src/main/java/org/apache/juneau/bean/jsonrpc/McpException.java @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.juneau.bean.mcp; +package org.apache.juneau.bean.jsonrpc; import org.apache.juneau.marshall.*; diff --git a/juneau-bean/juneau-bean-jsonrpc/src/test/java/org/apache/juneau/TestUtils.java b/juneau-bean/juneau-bean-jsonrpc/src/test/java/org/apache/juneau/TestUtils.java new file mode 100644 index 0000000000..fb66e6d1ca --- /dev/null +++ b/juneau-bean/juneau-bean-jsonrpc/src/test/java/org/apache/juneau/TestUtils.java @@ -0,0 +1,40 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.juneau; + +import static org.apache.juneau.marshall.marshaller.MarshallUtils.*; +import static org.junit.jupiter.api.Assertions.*; + +/** + * Test utilities for the juneau-bean-mcp module. + * + * <p>Contains the marshall-bound helpers layered on top of the shared {@link BasicTestUtils} base.</p> + */ +@SuppressWarnings({ + "unchecked" // BeanTester cast and generic type handling in test utilities +}) +public class TestUtils extends BasicTestUtils { + + public static String assertJson(String expected, Object value) { + assertEquals(expected, json5(value)); + return expected; + } + + public static final <T> BeanTester<T> testBean(T bean) { + return (BeanTester<T>) new BeanTester<>().bean(bean); + } +} diff --git a/juneau-bean/juneau-bean-jsonrpc/src/test/java/org/apache/juneau/bean/jsonrpc/McpException_Test.java b/juneau-bean/juneau-bean-jsonrpc/src/test/java/org/apache/juneau/bean/jsonrpc/McpException_Test.java new file mode 100644 index 0000000000..80fa6f15b0 --- /dev/null +++ b/juneau-bean/juneau-bean-jsonrpc/src/test/java/org/apache/juneau/bean/jsonrpc/McpException_Test.java @@ -0,0 +1,68 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.juneau.bean.jsonrpc; + +import static org.apache.juneau.test.bct.BctAssertions.*; +import static org.junit.jupiter.api.Assertions.*; + +import org.apache.juneau.marshall.collections.*; +import org.junit.jupiter.api.*; + +/** + * Coverage for {@link McpException} and its {@link McpException#toJsonRpcError()} mapping. + */ +class McpException_Test { + + @Test + void a01_threeArgConstructor_mapsToJsonRpcError() { + var a = new McpException(-32000, "Tool failed", JsonMap.of("tool", "t1")); + var b = a.toJsonRpcError(); + assertEquals(-32000, b.getCode()); + assertEquals("Tool failed", b.getMessage()); + assertNotNull(b.getData()); + } + + @Test + void a02_twoArgConstructorAndSetters() { + var a = new McpException(1, "m"); + assertNull(a.getData()); + a.setCode(2).setData(JsonMap.of("a", 1)); + assertEquals(2, a.getCode()); + assertNotNull(a.getData()); + var b = a.toJsonRpcError(); + assertEquals(2, b.getCode()); + assertEquals("m", b.getMessage()); + } + + @Test + void a03_defaultData_isNull() { + var a = new McpException(-1, "x"); + assertNull(a.getData()); + assertEquals(-1, a.getCode()); + assertString("x", a.getMessage()); + } + + @Test + void a04_withData_roundTripsThroughJsonRpcError() { + var a = new McpException(-1, "x", "data"); + assertString("data", a.getData()); + var b = a.toJsonRpcError(); + assertEquals(-1, b.getCode()); + assertString("x", b.getMessage()); + assertString("data", b.getData()); + } +} diff --git a/juneau-bean/juneau-bean-mcp/pom.xml b/juneau-bean/juneau-bean-mcp/pom.xml index 8c6911648c..cf3aab0140 100644 --- a/juneau-bean/juneau-bean-mcp/pom.xml +++ b/juneau-bean/juneau-bean-mcp/pom.xml @@ -39,6 +39,12 @@ <groupId>org.apache.juneau</groupId> <artifactId>juneau-marshall</artifactId> <version>${project.version}</version> + </dependency> + <dependency> + <groupId>org.apache.juneau</groupId> + <artifactId>juneau-bean-jsonrpc</artifactId> + <version>${project.version}</version> + <scope>test</scope> </dependency> <dependency> <groupId>org.junit.jupiter</groupId> diff --git a/juneau-bean/juneau-bean-mcp/src/test/java/org/apache/juneau/bean/mcp/McpBeans_RoundTrip_Test.java b/juneau-bean/juneau-bean-mcp/src/test/java/org/apache/juneau/bean/mcp/McpBeans_RoundTrip_Test.java index 6c5eeaaba4..f0bc780f01 100644 --- a/juneau-bean/juneau-bean-mcp/src/test/java/org/apache/juneau/bean/mcp/McpBeans_RoundTrip_Test.java +++ b/juneau-bean/juneau-bean-mcp/src/test/java/org/apache/juneau/bean/mcp/McpBeans_RoundTrip_Test.java @@ -20,7 +20,7 @@ import static org.apache.juneau.commons.utils.CollectionUtils.*; import static org.junit.jupiter.api.Assertions.*; import java.util.*; - +import org.apache.juneau.bean.jsonrpc.*; import org.apache.juneau.marshall.collections.*; import org.apache.juneau.marshall.json.*; import org.junit.jupiter.api.*; @@ -241,27 +241,6 @@ class McpBeans_RoundTrip_Test { } } - @Test - void a16_mcpExceptionToJsonRpcError() { - var ex = new McpException(-32000, "Tool failed", JsonMap.of("tool", "t1")); - var err = ex.toJsonRpcError(); - assertEquals(-32000, err.getCode()); - assertEquals("Tool failed", err.getMessage()); - assertNotNull(err.getData()); - } - - @Test - void a17_mcpExceptionTwoArgConstructorAndSetters() { - var ex = new McpException(1, "m"); - assertNull(ex.getData()); - ex.setCode(2).setData(JsonMap.of("a", 1)); - assertEquals(2, ex.getCode()); - assertNotNull(ex.getData()); - var err = ex.toJsonRpcError(); - assertEquals(2, err.getCode()); - assertEquals("m", err.getMessage()); - } - @Test void a18_getPromptResultSystemAndToolRolesRoundTrip() { var pr = new GetPromptResult() diff --git a/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/mcp/McpDispatcher_Test.java b/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/mcp/McpDispatcher_Test.java index e5d8676cc1..df2704c779 100644 --- a/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/mcp/McpDispatcher_Test.java +++ b/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/mcp/McpDispatcher_Test.java @@ -21,6 +21,7 @@ import static org.junit.jupiter.api.Assertions.*; import java.util.*; +import org.apache.juneau.bean.jsonrpc.*; import org.apache.juneau.bean.mcp.*; import org.apache.juneau.commons.inject.*; import org.apache.juneau.marshall.collections.*; diff --git a/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/mcp/McpHandlerDefaults_Test.java b/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/mcp/McpHandlerDefaults_Test.java index 843f268070..67089424b8 100644 --- a/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/mcp/McpHandlerDefaults_Test.java +++ b/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/mcp/McpHandlerDefaults_Test.java @@ -47,24 +47,6 @@ class McpHandlerDefaults_Test { assertThrows(UnsupportedOperationException.class, h::descriptor); } - @Test - void mcpException_default_data_isNull() { - var e = new McpException(-1, "x"); - assertNull(e.getData()); - assertEquals(-1, e.getCode()); - assertString("x", e.getMessage()); - } - - @Test - void mcpException_with_data() { - var e = new McpException(-1, "x", "data"); - assertString("data", e.getData()); - var rpc = e.toJsonRpcError(); - assertEquals(-1, rpc.getCode()); - assertString("x", rpc.getMessage()); - assertString("data", rpc.getData()); - } - @Test void typedHandlers_constructor_isPrivate() { // Sanity: the static façade class should not be instantiable. Reflection trick used to bump coverage on the diff --git a/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/mcp/McpRestServlet_Test.java b/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/mcp/McpRestServlet_Test.java index 1abd95ad2a..80dd1d59f0 100644 --- a/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/mcp/McpRestServlet_Test.java +++ b/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/mcp/McpRestServlet_Test.java @@ -22,6 +22,7 @@ import static org.junit.jupiter.api.Assertions.*; import java.util.*; import org.apache.juneau.*; +import org.apache.juneau.bean.jsonrpc.*; import org.apache.juneau.bean.mcp.*; import org.apache.juneau.commons.inject.*; import org.apache.juneau.marshall.json.*; diff --git a/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/mcp/McpTypedHandlers_Test.java b/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/mcp/McpTypedHandlers_Test.java index e9968a9f4f..174a3eeeaf 100644 --- a/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/mcp/McpTypedHandlers_Test.java +++ b/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/mcp/McpTypedHandlers_Test.java @@ -21,6 +21,7 @@ import static org.junit.jupiter.api.Assertions.*; import java.util.*; +import org.apache.juneau.bean.jsonrpc.*; import org.apache.juneau.bean.mcp.*; import org.apache.juneau.commons.inject.*; import org.apache.juneau.marshall.collections.*; diff --git a/juneau-rest/juneau-rest-server-mcp/pom.xml b/juneau-rest/juneau-rest-server-mcp/pom.xml index 59cc2da30b..ef1a6fa6ce 100644 --- a/juneau-rest/juneau-rest-server-mcp/pom.xml +++ b/juneau-rest/juneau-rest-server-mcp/pom.xml @@ -45,6 +45,11 @@ <artifactId>juneau-bean-mcp</artifactId> <version>${project.version}</version> </dependency> + <dependency> + <groupId>org.apache.juneau</groupId> + <artifactId>juneau-bean-jsonrpc</artifactId> + <version>${project.version}</version> + </dependency> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter</artifactId> diff --git a/juneau-rest/juneau-rest-server-mcp/src/main/java/org/apache/juneau/rest/server/mcp/Mcp.java b/juneau-rest/juneau-rest-server-mcp/src/main/java/org/apache/juneau/rest/server/mcp/Mcp.java index 53028fd271..182782eef5 100644 --- a/juneau-rest/juneau-rest-server-mcp/src/main/java/org/apache/juneau/rest/server/mcp/Mcp.java +++ b/juneau-rest/juneau-rest-server-mcp/src/main/java/org/apache/juneau/rest/server/mcp/Mcp.java @@ -16,6 +16,7 @@ */ package org.apache.juneau.rest.server.mcp; +import org.apache.juneau.bean.jsonrpc.*; import org.apache.juneau.bean.mcp.*; import org.apache.juneau.commons.inject.*; diff --git a/juneau-rest/juneau-rest-server-mcp/src/main/java/org/apache/juneau/rest/server/mcp/McpDispatcher.java b/juneau-rest/juneau-rest-server-mcp/src/main/java/org/apache/juneau/rest/server/mcp/McpDispatcher.java index e791904b66..ff6da6c691 100644 --- a/juneau-rest/juneau-rest-server-mcp/src/main/java/org/apache/juneau/rest/server/mcp/McpDispatcher.java +++ b/juneau-rest/juneau-rest-server-mcp/src/main/java/org/apache/juneau/rest/server/mcp/McpDispatcher.java @@ -22,6 +22,7 @@ import static org.apache.juneau.commons.utils.StringUtils.*; import java.util.*; +import org.apache.juneau.bean.jsonrpc.*; import org.apache.juneau.bean.mcp.*; import org.apache.juneau.commons.inject.*; import org.apache.juneau.marshall.collections.*; diff --git a/juneau-rest/juneau-rest-server-mcp/src/main/java/org/apache/juneau/rest/server/mcp/McpEndpoint.java b/juneau-rest/juneau-rest-server-mcp/src/main/java/org/apache/juneau/rest/server/mcp/McpEndpoint.java index 09d7c95881..c5c1787bd0 100644 --- a/juneau-rest/juneau-rest-server-mcp/src/main/java/org/apache/juneau/rest/server/mcp/McpEndpoint.java +++ b/juneau-rest/juneau-rest-server-mcp/src/main/java/org/apache/juneau/rest/server/mcp/McpEndpoint.java @@ -16,6 +16,7 @@ */ package org.apache.juneau.rest.server.mcp; +import org.apache.juneau.bean.jsonrpc.*; import org.apache.juneau.bean.mcp.*; import org.apache.juneau.commons.inject.*; import org.apache.juneau.http.Content; diff --git a/juneau-rest/juneau-rest-server-mcp/src/main/java/org/apache/juneau/rest/server/mcp/McpRestServlet.java b/juneau-rest/juneau-rest-server-mcp/src/main/java/org/apache/juneau/rest/server/mcp/McpRestServlet.java index 219850e330..1c350e92d5 100644 --- a/juneau-rest/juneau-rest-server-mcp/src/main/java/org/apache/juneau/rest/server/mcp/McpRestServlet.java +++ b/juneau-rest/juneau-rest-server-mcp/src/main/java/org/apache/juneau/rest/server/mcp/McpRestServlet.java @@ -18,6 +18,7 @@ package org.apache.juneau.rest.server.mcp; import java.util.concurrent.atomic.*; +import org.apache.juneau.bean.jsonrpc.*; import org.apache.juneau.bean.mcp.*; import org.apache.juneau.commons.inject.*; import org.apache.juneau.http.Content; diff --git a/juneau-rest/juneau-rest-server-mcp/src/main/java/org/apache/juneau/rest/server/mcp/McpTypedHandlers.java b/juneau-rest/juneau-rest-server-mcp/src/main/java/org/apache/juneau/rest/server/mcp/McpTypedHandlers.java index 8b36d5df5c..1f11f96c13 100644 --- a/juneau-rest/juneau-rest-server-mcp/src/main/java/org/apache/juneau/rest/server/mcp/McpTypedHandlers.java +++ b/juneau-rest/juneau-rest-server-mcp/src/main/java/org/apache/juneau/rest/server/mcp/McpTypedHandlers.java @@ -20,6 +20,7 @@ import static org.apache.juneau.commons.utils.AssertionUtils.*; import java.util.*; +import org.apache.juneau.bean.jsonrpc.*; import org.apache.juneau.bean.mcp.*; import org.apache.juneau.commons.inject.*; import org.apache.juneau.marshall.marshaller.*; diff --git a/juneau-rest/juneau-rest-server-mcp/src/test/java/org/apache/juneau/rest/server/mcp/Characterization_Test.java b/juneau-rest/juneau-rest-server-mcp/src/test/java/org/apache/juneau/rest/server/mcp/Characterization_Test.java index 0fc80b4788..cd5a8857fe 100644 --- a/juneau-rest/juneau-rest-server-mcp/src/test/java/org/apache/juneau/rest/server/mcp/Characterization_Test.java +++ b/juneau-rest/juneau-rest-server-mcp/src/test/java/org/apache/juneau/rest/server/mcp/Characterization_Test.java @@ -22,6 +22,7 @@ import java.nio.file.*; import java.util.*; import java.util.function.*; +import org.apache.juneau.bean.jsonrpc.*; import org.apache.juneau.bean.mcp.*; import org.apache.juneau.commons.inject.*; import org.apache.juneau.marshall.collections.*; diff --git a/juneau-rest/juneau-rest-server-mcp/src/test/java/org/apache/juneau/rest/server/mcp/McpDispatcher_Test.java b/juneau-rest/juneau-rest-server-mcp/src/test/java/org/apache/juneau/rest/server/mcp/McpDispatcher_Test.java index 6f7a023ccd..67152c8506 100644 --- a/juneau-rest/juneau-rest-server-mcp/src/test/java/org/apache/juneau/rest/server/mcp/McpDispatcher_Test.java +++ b/juneau-rest/juneau-rest-server-mcp/src/test/java/org/apache/juneau/rest/server/mcp/McpDispatcher_Test.java @@ -21,6 +21,7 @@ import static org.junit.jupiter.api.Assertions.*; import java.util.*; +import org.apache.juneau.bean.jsonrpc.*; import org.apache.juneau.bean.mcp.*; import org.apache.juneau.commons.inject.*; import org.apache.juneau.marshall.collections.*; diff --git a/juneau-rest/juneau-rest-server-mcp/src/test/java/org/apache/juneau/rest/server/mcp/McpHandlerDefaults_Test.java b/juneau-rest/juneau-rest-server-mcp/src/test/java/org/apache/juneau/rest/server/mcp/McpHandlerDefaults_Test.java index 010f034c8a..186d99cf88 100644 --- a/juneau-rest/juneau-rest-server-mcp/src/test/java/org/apache/juneau/rest/server/mcp/McpHandlerDefaults_Test.java +++ b/juneau-rest/juneau-rest-server-mcp/src/test/java/org/apache/juneau/rest/server/mcp/McpHandlerDefaults_Test.java @@ -47,24 +47,6 @@ class McpHandlerDefaults_Test { assertThrows(UnsupportedOperationException.class, h::descriptor); } - @Test - void b01_mcpException_default_data_isNull() { - var e = new McpException(-1, "x"); - assertNull(e.getData()); - assertEquals(-1, e.getCode()); - assertString("x", e.getMessage()); - } - - @Test - void b02_mcpException_with_data() { - var e = new McpException(-1, "x", "data"); - assertString("data", e.getData()); - var rpc = e.toJsonRpcError(); - assertEquals(-1, rpc.getCode()); - assertString("x", rpc.getMessage()); - assertString("data", rpc.getData()); - } - @Test void c01_typedHandlers_constructor_isPrivate() { // Sanity: the static façade class should not be instantiable. Reflection trick used to bump coverage on the diff --git a/juneau-rest/juneau-rest-server-mcp/src/test/java/org/apache/juneau/rest/server/mcp/McpRestServlet_Test.java b/juneau-rest/juneau-rest-server-mcp/src/test/java/org/apache/juneau/rest/server/mcp/McpRestServlet_Test.java index 3dab96235b..731c4ee93a 100644 --- a/juneau-rest/juneau-rest-server-mcp/src/test/java/org/apache/juneau/rest/server/mcp/McpRestServlet_Test.java +++ b/juneau-rest/juneau-rest-server-mcp/src/test/java/org/apache/juneau/rest/server/mcp/McpRestServlet_Test.java @@ -22,6 +22,7 @@ import static org.junit.jupiter.api.Assertions.*; import java.util.*; import org.apache.juneau.*; +import org.apache.juneau.bean.jsonrpc.*; import org.apache.juneau.bean.mcp.*; import org.apache.juneau.commons.inject.*; import org.apache.juneau.marshall.json.*; diff --git a/juneau-rest/juneau-rest-server-mcp/src/test/java/org/apache/juneau/rest/server/mcp/McpTypedHandlers_Test.java b/juneau-rest/juneau-rest-server-mcp/src/test/java/org/apache/juneau/rest/server/mcp/McpTypedHandlers_Test.java index c09501b645..54a5e7d9c4 100644 --- a/juneau-rest/juneau-rest-server-mcp/src/test/java/org/apache/juneau/rest/server/mcp/McpTypedHandlers_Test.java +++ b/juneau-rest/juneau-rest-server-mcp/src/test/java/org/apache/juneau/rest/server/mcp/McpTypedHandlers_Test.java @@ -21,6 +21,7 @@ import static org.junit.jupiter.api.Assertions.*; import java.util.*; +import org.apache.juneau.bean.jsonrpc.*; import org.apache.juneau.bean.mcp.*; import org.apache.juneau.commons.inject.*; import org.apache.juneau.marshall.collections.*;
