Files
modelstudioai__cli/packages/commands/tests/e2e/knowledge/knowledge-kb-info.e2e.test.ts
zeyu.fz b7a4efe619 feat(speech): 支持同步Flash ASR模型和异步文件转录模型
- 新增同步Flash ASR模型请求流程,支持单音频文件识别
- 实现了对同步Flash模型不支持异步标志及参数的限制校验
- 异步文件转录模型支持单文件URL上传和语言参数细化
- 优化异步和同步鉴权域显示,丰富根帮助和分组帮助提示
- speech recognize增加dry-run测试覆盖多种识别场景
- free-tier自动停用功能优化,改用统一轮询函数处理批量请求
- 统一轮询逻辑,支持console和telemetry接口的异步任务完成判定
- 规范输出格式和错误提示,增强用户调试体验
- 版本升级到1.14.3,更新示例参数和模型ID引用
2026-08-14 11:07:21 +08:00

92 lines
2.8 KiB
TypeScript

import { describe, expect, test } from "vite-plus/test";
import { isKbAdminE2EReady, parseStdoutJson, runCommandE2e } from "../helpers.ts";
import { KNOWLEDGE_KB_INFO_ROUTES } from "../topic-routes.ts";
describe("e2e: knowledge kb info", () => {
test("--help 展示 flags", async () => {
const { stderr, exitCode } = await runCommandE2e(KNOWLEDGE_KB_INFO_ROUTES, [
"knowledge",
"info",
"--help",
]);
expect(exitCode, stderr).toBe(0);
expect(stderr).toMatch(/--index-id/i);
expect(stderr).toMatch(/--workspace-id/i);
});
test("缺 --index-id 报 USAGE (2)", async () => {
const { stderr, exitCode } = await runCommandE2e(KNOWLEDGE_KB_INFO_ROUTES, [
"knowledge",
"info",
"--workspace-id",
"ws_test",
]);
expect(exitCode).toBe(2);
expect(stderr).toMatch(/--index-id|Usage:/i);
});
test("--dry-run 输出 list endpoint (含 pipeline_id 过滤)", async () => {
const { stdout, stderr, exitCode } = await runCommandE2e(KNOWLEDGE_KB_INFO_ROUTES, [
"knowledge",
"info",
"--dry-run",
"--index-id",
"idx_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\/list/);
expect(data.endpoint).toMatch(/pipeline_id=idx_test/);
});
});
interface KbListQuietResult {
stdout: string;
}
describe.skipIf(!isKbAdminE2EReady())("e2e: knowledge kb info (live)", () => {
const workspaceId = process.env.BAILIAN_WORKSPACE_ID!;
test("先 list 取 id 再 info 断言分组字段", async () => {
const listRun: KbListQuietResult = await runCommandE2e(KNOWLEDGE_KB_INFO_ROUTES, [
"knowledge",
"list",
"--workspace-id",
workspaceId,
"--quiet",
]);
const firstId = listRun.stdout.trim().split("\n")[0];
if (!firstId) return; // skip assertions when the workspace has no knowledge bases
const { stdout, stderr, exitCode } = await runCommandE2e(KNOWLEDGE_KB_INFO_ROUTES, [
"knowledge",
"info",
"--index-id",
firstId,
"--workspace-id",
workspaceId,
]);
expect(exitCode, stderr).toBe(0);
expect(stdout).toMatch(/Basic:/);
expect(stdout).toMatch(/Indexing:/);
expect(stdout).toMatch(/immutable/);
expect(stdout).toMatch(/Retrieval:/);
});
test("不存在的 id 非零退出并给 hint", async () => {
const { stderr, exitCode } = await runCommandE2e(KNOWLEDGE_KB_INFO_ROUTES, [
"knowledge",
"info",
"--index-id",
"idx-not-exist-e2e",
"--workspace-id",
workspaceId,
]);
expect(exitCode).not.toBe(0);
expect(stderr).toMatch(/not found/i);
});
});