mirror of
https://github.com/modelstudioai/cli.git
synced 2026-09-14 19:49:23 +08:00
43abf0aca5
- 增加test:journey脚本,覆盖知识库跨命令全链路用户旅程测试 - 在文档中新增Journey E2E章节,详细说明用户旅程测试定位及断言机制 - 完善commands模块,新增知识库相关命令包括知识库列表、信息、创建、更新、删除 - 新增知识库文档相关命令,如文档列表、状态、上传、删除、打标签及OSS导入 - 添加知识服务管理命令,支持列表、创建、更新、部署、删除及复制 - 支持知识块增删查改命令,完善知识点的灵活操作能力 - 实现数据中心分类管理命令,支持分类增删查操作 - 优化knowledge chat命令,增加workspace-id统一解析及agent-version版本控制 - 重构与知识库相关命令的导出与注册,完善CLI整体能力覆盖 - 新增命令详尽的帮助文档,包含参数说明、使用示例及错误边界 - 实现批量删除知识块的自动分批处理逻辑,易于操作大规模数据 - 添加必要的输入校验与安全提示,确保操作安全且符合规范
96 lines
2.7 KiB
TypeScript
96 lines
2.7 KiB
TypeScript
import { describe, expect, test } from "vite-plus/test";
|
|
import { parseStdoutJson, runCommandE2e } from "../helpers.ts";
|
|
import { KNOWLEDGE_DOC_STATUS_ROUTES } from "../topic-routes.ts";
|
|
|
|
// Live coverage depends on a real job_id produced by doc upload; it is exercised
|
|
// as part of the upload live chain.
|
|
|
|
describe("e2e: knowledge doc status", () => {
|
|
test("--help 展示 flags", async () => {
|
|
const { stderr, exitCode } = await runCommandE2e(KNOWLEDGE_DOC_STATUS_ROUTES, [
|
|
"knowledge",
|
|
"doc",
|
|
"status",
|
|
"--help",
|
|
]);
|
|
expect(exitCode, stderr).toBe(0);
|
|
expect(stderr).toMatch(/--index-id/i);
|
|
expect(stderr).toMatch(/--job-id/i);
|
|
expect(stderr).toMatch(/--wait/i);
|
|
expect(stderr).toMatch(/--poll-interval/i);
|
|
});
|
|
|
|
test("缺 --index-id 报 USAGE (2)", async () => {
|
|
const { exitCode } = await runCommandE2e(KNOWLEDGE_DOC_STATUS_ROUTES, [
|
|
"knowledge",
|
|
"doc",
|
|
"status",
|
|
"--job-id",
|
|
"job_test",
|
|
"--workspace-id",
|
|
"ws_test",
|
|
]);
|
|
expect(exitCode).toBe(2);
|
|
});
|
|
|
|
test("缺 --job-id 报 USAGE (2)", async () => {
|
|
const { exitCode } = await runCommandE2e(KNOWLEDGE_DOC_STATUS_ROUTES, [
|
|
"knowledge",
|
|
"doc",
|
|
"status",
|
|
"--index-id",
|
|
"idx_test",
|
|
"--workspace-id",
|
|
"ws_test",
|
|
]);
|
|
expect(exitCode).toBe(2);
|
|
});
|
|
|
|
test("--dry-run 断言 query 同时含两个 id (双必填坑位)", async () => {
|
|
const { stdout, stderr, exitCode } = await runCommandE2e(KNOWLEDGE_DOC_STATUS_ROUTES, [
|
|
"knowledge",
|
|
"doc",
|
|
"status",
|
|
"--dry-run",
|
|
"--index-id",
|
|
"idx_test",
|
|
"--job-id",
|
|
"job_test",
|
|
"--workspace-id",
|
|
"ws_test",
|
|
"--output",
|
|
"json",
|
|
]);
|
|
expect(exitCode, stderr).toBe(0);
|
|
const data = parseStdoutJson<{ endpoint?: string }>(stdout);
|
|
expect(data.endpoint).toMatch(/api\/v1\/indices\/rag\/index_job\/status/);
|
|
expect(data.endpoint).toMatch(/index_id=idx_test/);
|
|
expect(data.endpoint).toMatch(/job_id=job_test/);
|
|
});
|
|
|
|
test("--dry-run 断言分页参数 query 透传", async () => {
|
|
const { stdout, stderr, exitCode } = await runCommandE2e(KNOWLEDGE_DOC_STATUS_ROUTES, [
|
|
"knowledge",
|
|
"doc",
|
|
"status",
|
|
"--dry-run",
|
|
"--index-id",
|
|
"idx_test",
|
|
"--job-id",
|
|
"job_test",
|
|
"--page-number",
|
|
"2",
|
|
"--page-size",
|
|
"50",
|
|
"--workspace-id",
|
|
"ws_test",
|
|
"--output",
|
|
"json",
|
|
]);
|
|
expect(exitCode, stderr).toBe(0);
|
|
const data = parseStdoutJson<{ endpoint?: string }>(stdout);
|
|
expect(data.endpoint).toMatch(/page_number=2/);
|
|
expect(data.endpoint).toMatch(/page_size=50/);
|
|
});
|
|
});
|