mirror of
https://github.com/modelstudioai/cli.git
synced 2026-09-14 19:49:23 +08:00
test(commands): 添加知识库统计接口的E2E测试
- 在topic-routes中新增knowledge stats路由映射 - 在j2-content-ops测试中添加知识库统计命令调用 - 验证接口返回的存储限制和请求速率监控数据结构有效 - 记录存储限制和请求窗口数量作为测试备注 - 引入parseStdoutJson辅助函数解析JSON输出
This commit is contained in:
@@ -4,7 +4,7 @@
|
||||
// Note: there is no "append documents to an existing base" command (kb update takes
|
||||
// no doc-id), so incremental semantics are expressed as a two-document create + deleting one.
|
||||
import { describe, expect, test } from "vite-plus/test";
|
||||
import { isKbAdminE2EReady } from "../../helpers.ts";
|
||||
import { isKbAdminE2EReady, parseStdoutJson } from "../../helpers.ts";
|
||||
import { JOURNEY_J2_ROUTES } from "../../topic-routes.ts";
|
||||
import {
|
||||
cleanupKbFixture,
|
||||
@@ -67,6 +67,30 @@ describe.skipIf(!isKbAdminE2EReady())("journey J2: 内容运维 (live, 自清理
|
||||
expect(docStatusRun.exitCode, docStatusRun.stderr).toBe(0);
|
||||
expect(docStatusRun.stdout.trim()).toBe("COMPLETED");
|
||||
|
||||
// 2.5) knowledge stats — monitor endpoint returns valid structure (hard)
|
||||
const statsRun = await reporter.runStep("kb stats", JOURNEY_J2_ROUTES, [
|
||||
"knowledge",
|
||||
"stats",
|
||||
"--index-id",
|
||||
kb.indexId,
|
||||
"--workspace-id",
|
||||
workspaceId,
|
||||
"--output",
|
||||
"json",
|
||||
]);
|
||||
expect(statsRun.exitCode, statsRun.stderr).toBe(0);
|
||||
const statsData = parseStdoutJson<{
|
||||
data?: {
|
||||
storageMonitorData?: { indexStorageLimit?: number };
|
||||
qpsMonitorData?: { monitorData?: unknown[] };
|
||||
};
|
||||
}>(statsRun.stdout);
|
||||
expect(typeof statsData.data?.storageMonitorData?.indexStorageLimit).toBe("number");
|
||||
expect(Array.isArray(statsData.data?.qpsMonitorData?.monitorData)).toBe(true);
|
||||
reporter.recordNote(
|
||||
`storage limit=${statsData.data?.storageMonitorData?.indexStorageLimit} qps windows=${statsData.data?.qpsMonitorData?.monitorData?.length ?? 0}`,
|
||||
);
|
||||
|
||||
// 3) doc tag on doc2 (tagging succeeds: hard; tag read-back: soft — server-side
|
||||
// display lag or the API not echoing tags are both tolerable)
|
||||
const tagValue = `e2e-j2-${Date.now() % 100000000}`;
|
||||
|
||||
@@ -294,6 +294,7 @@ export const JOURNEY_J2_ROUTES: E2eRouteExports = {
|
||||
"knowledge doc status": "knowledgeDocStatus",
|
||||
"knowledge doc tag": "knowledgeDocTag",
|
||||
"knowledge doc delete": "knowledgeDocDelete",
|
||||
"knowledge stats": "knowledgeKbStats",
|
||||
};
|
||||
|
||||
export const JOURNEY_J3_ROUTES: E2eRouteExports = {
|
||||
|
||||
Reference in New Issue
Block a user