From 05707e61e4abfa15e33eee455c0fae38cae7d32c Mon Sep 17 00:00:00 2001 From: Suzumiya Date: Sun, 4 Oct 2026 00:56:55 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E5=A4=96=E9=83=A8=20MCP=20?= =?UTF-8?q?=E8=AF=AD=E4=B9=89=E7=9B=AE=E5=BD=95=E6=B5=8B=E8=AF=95=E9=87=8C?= =?UTF-8?q?=E5=86=99=E6=AD=BB=E7=9A=84=20legacy=20=E5=B7=A5=E5=85=B7?= =?UTF-8?q?=E6=95=B0=E6=96=AD=E8=A8=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 断言 MCP_OPERATIONS.len() == 30 自 #592 起写死。4b529a895(新增支付服务接入与订单收银台) 在内置 OpenAPI 中新增 createExternalPaymentOrder、getExternalPaymentOrder 两条未被 x-mcp-excluded 排除的操作,legacy 可调用工具由 30 合法增至 32(非重复注册、非覆盖) - 断言更新为 32 并注明来源(内置 OpenAPI 去掉 5 条元数据/入口操作后的可调用集合), 保留“语义工具是增量、不得覆盖 legacy 工具”的原意;总数断言改为 MCP_OPERATIONS.len() + TOOLS.len() 派生,避免再次写死 - 本地实跑:cargo test --locked -p api-server --no-fail-fast --manifest-path server-rs/Cargo.toml semantic → 18 passed(含 semantic_catalog_adds_fifteen_tools_without_replacing_legacy_tools) --- .../crates/api-server/src/external_mcp/semantic/tests.rs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/server-rs/crates/api-server/src/external_mcp/semantic/tests.rs b/server-rs/crates/api-server/src/external_mcp/semantic/tests.rs index 02f47b42f..a27dbc5b9 100644 --- a/server-rs/crates/api-server/src/external_mcp/semantic/tests.rs +++ b/server-rs/crates/api-server/src/external_mcp/semantic/tests.rs @@ -30,7 +30,10 @@ fn prepare( #[test] fn semantic_catalog_adds_fifteen_tools_without_replacing_legacy_tools() { assert_eq!(TOOLS.len(), 15); - assert_eq!(MCP_OPERATIONS.len(), 30); + // legacy 工具集合直接来自内置 OpenAPI(排除 5 条 x-mcp-excluded 元数据/入口操作)。 + // 支付收银台新增 createExternalPaymentOrder / getExternalPaymentOrder 后, + // 可调用操作由 30 增至 32:语义工具只做增量,不得替换 legacy 工具。 + assert_eq!(MCP_OPERATIONS.len(), 32); let legacy = MCP_OPERATIONS .iter() .map(mcp_operation_tool) @@ -52,7 +55,7 @@ fn semantic_catalog_adds_fifteen_tools_without_replacing_legacy_tools() { .is_some_and(|text| !text.is_empty()) ); } - assert_eq!(names.len(), 45); + assert_eq!(names.len(), MCP_OPERATIONS.len() + TOOLS.len()); } #[test]