|
4 | 4 | // Note: there is no "append documents to an existing base" command (kb update takes |
5 | 5 | // no doc-id), so incremental semantics are expressed as a two-document create + deleting one. |
6 | 6 | import { describe, expect, test } from "vite-plus/test"; |
7 | | -import { isKbAdminE2EReady } from "../../helpers.ts"; |
| 7 | +import { isKbAdminE2EReady, parseStdoutJson } from "../../helpers.ts"; |
8 | 8 | import { JOURNEY_J2_ROUTES } from "../../topic-routes.ts"; |
9 | 9 | import { |
10 | 10 | cleanupKbFixture, |
@@ -67,6 +67,30 @@ describe.skipIf(!isKbAdminE2EReady())("journey J2: 内容运维 (live, 自清理 |
67 | 67 | expect(docStatusRun.exitCode, docStatusRun.stderr).toBe(0); |
68 | 68 | expect(docStatusRun.stdout.trim()).toBe("COMPLETED"); |
69 | 69 |
|
| 70 | + // 2.5) knowledge stats — monitor endpoint returns valid structure (hard) |
| 71 | + const statsRun = await reporter.runStep("kb stats", JOURNEY_J2_ROUTES, [ |
| 72 | + "knowledge", |
| 73 | + "stats", |
| 74 | + "--index-id", |
| 75 | + kb.indexId, |
| 76 | + "--workspace-id", |
| 77 | + workspaceId, |
| 78 | + "--output", |
| 79 | + "json", |
| 80 | + ]); |
| 81 | + expect(statsRun.exitCode, statsRun.stderr).toBe(0); |
| 82 | + const statsData = parseStdoutJson<{ |
| 83 | + data?: { |
| 84 | + storageMonitorData?: { indexStorageLimit?: number }; |
| 85 | + qpsMonitorData?: { monitorData?: unknown[] }; |
| 86 | + }; |
| 87 | + }>(statsRun.stdout); |
| 88 | + expect(typeof statsData.data?.storageMonitorData?.indexStorageLimit).toBe("number"); |
| 89 | + expect(Array.isArray(statsData.data?.qpsMonitorData?.monitorData)).toBe(true); |
| 90 | + reporter.recordNote( |
| 91 | + `storage limit=${statsData.data?.storageMonitorData?.indexStorageLimit} qps windows=${statsData.data?.qpsMonitorData?.monitorData?.length ?? 0}`, |
| 92 | + ); |
| 93 | + |
70 | 94 | // 3) doc tag on doc2 (tagging succeeds: hard; tag read-back: soft — server-side |
71 | 95 | // display lag or the API not echoing tags are both tolerable) |
72 | 96 | const tagValue = `e2e-j2-${Date.now() % 100000000}`; |
|
0 commit comments