This is an automated email from the ASF dual-hosted git repository.
terrymanu pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git
The following commit(s) were added to refs/heads/master by this push:
new 2540c952001 Remove unknown active transport (#38732)
2540c952001 is described below
commit 2540c95200160505b39874489b7179918a09ce96
Author: Liang Zhang <[email protected]>
AuthorDate: Wed May 27 21:29:08 2026 +0800
Remove unknown active transport (#38732)
* Remove unknown active transport
* Remove unknown active transport
* Remove unknown active transport
---
.../shardingsphere/mcp/bootstrap/MCPRuntimeLauncherTest.java | 7 +++++--
.../shardingsphere/mcp/core/context/MCPRuntimeContext.java | 10 +++-------
.../mcp/core/resource/ResourceTestDataFactory.java | 2 +-
.../resource/handler/capability/RuntimeStatusHandlerTest.java | 9 +++++++++
.../resource/handler/workflow/WorkflowPlanHandlerTest.java | 2 +-
.../mcp/support/database/MCPDatabaseHandlerContext.java | 4 +---
6 files changed, 20 insertions(+), 14 deletions(-)
diff --git
a/mcp/bootstrap/src/test/java/org/apache/shardingsphere/mcp/bootstrap/MCPRuntimeLauncherTest.java
b/mcp/bootstrap/src/test/java/org/apache/shardingsphere/mcp/bootstrap/MCPRuntimeLauncherTest.java
index 0b8a08128c0..01d6fabf217 100644
---
a/mcp/bootstrap/src/test/java/org/apache/shardingsphere/mcp/bootstrap/MCPRuntimeLauncherTest.java
+++
b/mcp/bootstrap/src/test/java/org/apache/shardingsphere/mcp/bootstrap/MCPRuntimeLauncherTest.java
@@ -23,6 +23,7 @@ import
org.apache.shardingsphere.mcp.bootstrap.config.MCPTransportType;
import
org.apache.shardingsphere.mcp.bootstrap.transport.server.MCPRuntimeServer;
import
org.apache.shardingsphere.mcp.bootstrap.transport.server.http.StreamableHttpMCPServer;
import
org.apache.shardingsphere.mcp.bootstrap.transport.server.stdio.StdioMCPServer;
+import org.apache.shardingsphere.mcp.core.context.MCPRuntimeContext;
import org.apache.shardingsphere.mcp.core.session.MCPSessionManager;
import
org.apache.shardingsphere.mcp.support.database.capability.MCPDatabaseCapabilityProvider;
import
org.apache.shardingsphere.mcp.support.database.metadata.jdbc.RuntimeDatabaseConfiguration;
@@ -48,7 +49,8 @@ class MCPRuntimeLauncherTest {
try (
MockedConstruction<MCPSessionManager>
ignoredMockedSessionManager = mockConstruction(MCPSessionManager.class);
MockedConstruction<MCPDatabaseCapabilityProvider>
ignoredMockedCapabilityProvider =
mockConstruction(MCPDatabaseCapabilityProvider.class);
- MockedConstruction<StreamableHttpMCPServer> mockedHttpServer =
mockConstruction(StreamableHttpMCPServer.class);
+ MockedConstruction<StreamableHttpMCPServer> mockedHttpServer =
mockConstruction(StreamableHttpMCPServer.class,
+ (mock, context) -> assertThat(((MCPRuntimeContext)
context.arguments().get(1)).getActiveTransport(), is("http")));
MockedConstruction<StdioMCPServer> mockedStdioServer =
mockConstruction(StdioMCPServer.class)) {
MCPRuntimeServer actual = new
MCPRuntimeLauncher("conf/mcp-http.yaml").launch(createLaunchConfiguration(true));
assertThat(actual, is(mockedHttpServer.constructed().get(0)));
@@ -64,7 +66,8 @@ class MCPRuntimeLauncherTest {
MockedConstruction<MCPSessionManager>
ignoredMockedSessionManager = mockConstruction(MCPSessionManager.class);
MockedConstruction<MCPDatabaseCapabilityProvider>
ignoredMockedCapabilityProvider =
mockConstruction(MCPDatabaseCapabilityProvider.class);
MockedConstruction<StreamableHttpMCPServer> mockedHttpServer =
mockConstruction(StreamableHttpMCPServer.class);
- MockedConstruction<StdioMCPServer> mockedStdioServer =
mockConstruction(StdioMCPServer.class)) {
+ MockedConstruction<StdioMCPServer> mockedStdioServer =
mockConstruction(StdioMCPServer.class,
+ (mock, context) -> assertThat(((MCPRuntimeContext)
context.arguments().get(0)).getActiveTransport(), is("stdio")))) {
MCPRuntimeServer actual = new
MCPRuntimeLauncher("conf/mcp-http.yaml").launch(createLaunchConfiguration(false));
assertThat(actual, isA(StdioMCPServer.class));
assertThat(actual, is(mockedStdioServer.constructed().get(0)));
diff --git
a/mcp/core/src/main/java/org/apache/shardingsphere/mcp/core/context/MCPRuntimeContext.java
b/mcp/core/src/main/java/org/apache/shardingsphere/mcp/core/context/MCPRuntimeContext.java
index 8b88299e217..22a343e417e 100644
---
a/mcp/core/src/main/java/org/apache/shardingsphere/mcp/core/context/MCPRuntimeContext.java
+++
b/mcp/core/src/main/java/org/apache/shardingsphere/mcp/core/context/MCPRuntimeContext.java
@@ -23,29 +23,25 @@ import
org.apache.shardingsphere.mcp.core.workflow.InMemoryWorkflowSessionContex
import
org.apache.shardingsphere.mcp.support.database.capability.MCPDatabaseCapabilityProvider;
import org.apache.shardingsphere.mcp.support.workflow.WorkflowSessionContext;
-import java.util.Objects;
-
/**
* MCP runtime context.
*/
@Getter
public final class MCPRuntimeContext {
- private static final String UNKNOWN_TRANSPORT = "unknown";
-
private final MCPSessionManager sessionManager;
private final MCPDatabaseCapabilityProvider databaseCapabilityProvider;
- private final WorkflowSessionContext workflowSessionContext;
-
private final String activeTransport;
+ private final WorkflowSessionContext workflowSessionContext;
+
public MCPRuntimeContext(final MCPSessionManager sessionManager, final
MCPDatabaseCapabilityProvider databaseCapabilityProvider, final String
activeTransport) {
this.sessionManager = sessionManager;
this.databaseCapabilityProvider = databaseCapabilityProvider;
+ this.activeTransport = activeTransport;
workflowSessionContext = new InMemoryWorkflowSessionContext();
- this.activeTransport = Objects.toString(activeTransport,
UNKNOWN_TRANSPORT);
sessionManager.addSessionCloseListener(workflowSessionContext::removeBySessionId);
}
}
diff --git
a/mcp/core/src/test/java/org/apache/shardingsphere/mcp/core/resource/ResourceTestDataFactory.java
b/mcp/core/src/test/java/org/apache/shardingsphere/mcp/core/resource/ResourceTestDataFactory.java
index 0fd52958b71..aa5f7ed6b35 100644
---
a/mcp/core/src/test/java/org/apache/shardingsphere/mcp/core/resource/ResourceTestDataFactory.java
+++
b/mcp/core/src/test/java/org/apache/shardingsphere/mcp/core/resource/ResourceTestDataFactory.java
@@ -84,7 +84,7 @@ public final class ResourceTestDataFactory {
* @return runtime context
*/
public static MCPRuntimeContext createRuntimeContext(final
List<MCPDatabaseMetadata> databaseMetadataList) {
- return createRuntimeContext(databaseMetadataList, "unknown");
+ return createRuntimeContext(databaseMetadataList, "http");
}
/**
diff --git
a/mcp/core/src/test/java/org/apache/shardingsphere/mcp/core/resource/handler/capability/RuntimeStatusHandlerTest.java
b/mcp/core/src/test/java/org/apache/shardingsphere/mcp/core/resource/handler/capability/RuntimeStatusHandlerTest.java
index f45f2504f07..12a54da1e7c 100644
---
a/mcp/core/src/test/java/org/apache/shardingsphere/mcp/core/resource/handler/capability/RuntimeStatusHandlerTest.java
+++
b/mcp/core/src/test/java/org/apache/shardingsphere/mcp/core/resource/handler/capability/RuntimeStatusHandlerTest.java
@@ -52,6 +52,15 @@ class RuntimeStatusHandlerTest {
}
}
+ @Test
+ void assertHandleWithStdioTransport() {
+ try (MCPRequestScope requestScope = new
MCPRequestScope(ResourceTestDataFactory.createRuntimeContext(ResourceTestDataFactory.createDatabaseMetadata(),
"stdio"))) {
+ Map<String, Object> actual = new
RuntimeStatusHandler().handle(requestScope, new
MCPUriVariables(Map.of())).toPayload();
+ assertThat(actual.get("transport"), is("stdio"));
+ assertThat(actual.get("active_transport"), is("stdio"));
+ }
+ }
+
@Test
void assertHandleWithEmptyRuntimeDatabase() {
try (MCPRequestScope requestScope = new
MCPRequestScope(ResourceTestDataFactory.createRuntimeContext(List.of(),
"http"))) {
diff --git
a/mcp/core/src/test/java/org/apache/shardingsphere/mcp/core/resource/handler/workflow/WorkflowPlanHandlerTest.java
b/mcp/core/src/test/java/org/apache/shardingsphere/mcp/core/resource/handler/workflow/WorkflowPlanHandlerTest.java
index 0896a16b641..230c97db32d 100644
---
a/mcp/core/src/test/java/org/apache/shardingsphere/mcp/core/resource/handler/workflow/WorkflowPlanHandlerTest.java
+++
b/mcp/core/src/test/java/org/apache/shardingsphere/mcp/core/resource/handler/workflow/WorkflowPlanHandlerTest.java
@@ -40,7 +40,7 @@ class WorkflowPlanHandlerTest {
@Test
void assertHandle() {
- MCPRuntimeContext runtimeContext = new MCPRuntimeContext(new
MCPSessionManager(Map.of()), new MCPDatabaseCapabilityProvider(Map.of()),
"unknown");
+ MCPRuntimeContext runtimeContext = new MCPRuntimeContext(new
MCPSessionManager(Map.of()), new MCPDatabaseCapabilityProvider(Map.of()),
"http");
runtimeContext.getWorkflowSessionContext().save(createSnapshot());
try (MCPRequestScope requestScope = new
MCPRequestScope(runtimeContext)) {
Map<String, Object> actual = new
WorkflowPlanHandler().handle(requestScope, new
MCPUriVariables(Map.of("plan_id", "plan-1"))).toPayload();
diff --git
a/mcp/support/src/main/java/org/apache/shardingsphere/mcp/support/database/MCPDatabaseHandlerContext.java
b/mcp/support/src/main/java/org/apache/shardingsphere/mcp/support/database/MCPDatabaseHandlerContext.java
index 7bec89cdf5b..beb2f8993dc 100644
---
a/mcp/support/src/main/java/org/apache/shardingsphere/mcp/support/database/MCPDatabaseHandlerContext.java
+++
b/mcp/support/src/main/java/org/apache/shardingsphere/mcp/support/database/MCPDatabaseHandlerContext.java
@@ -33,9 +33,7 @@ public interface MCPDatabaseHandlerContext extends
MCPHandlerContext {
*
* @return active MCP transport
*/
- default String getActiveTransport() {
- return "unknown";
- }
+ String getActiveTransport();
/**
* Get metadata query facade.