安全公告 — 恶意 litellm 版本 1.82.7 与 1.82.8 已从 PyPI 移除(存在 API 密钥外泄风险)。请卸载、轮换已暴露凭据,并升级至安全版本(如 1.82.9+)。运行 pip show litellm 以确认。 PyPI · README

测试策略

Enterprise 测试分散在 Go gateway、TS packages/apps 与 scripts E2E 中。仓库无统一 CI 全绿保证文档(以各 package test script 为准)。

测试策略

Enterprise 测试分散在 Go gateway、TS packages/apps 与 scripts E2E 中。仓库统一 CI 全绿保证文档(以各 package test script 为准)。


命令矩阵

命令范围前置
pnpm testturbo 各 package test因 package 而异
pnpm typecheck全 TS monorepopnpm install
pnpm lintESLint
cd apps/gateway && go test ./...Gateway 单元测试Go 1.25+
pnpm e2e:iamPlaywright IAM 冒烟:3000 + :3001 已起
pnpm e2e:ssoSSO 入口可达性同上
pnpm visual-tour13 页 × 2 主题截图同上 + Chromium
pnpm sso:oidc-smokeOIDC env 字段自检无网络
k6 run scripts/perf/sso-200-concurrent.jsSSO 并发压测k6 已安装

E2E:IAM

bash
1bash scripts/start-dev.sh
2pnpm e2e:iam

覆盖 admin IAM 部门/角色/用户关键路径。

环境变量:

  • ADMIN_BASE_URL(默认 http://localhost:3001
  • ADMIN_CONSOLE_LOGIN_PASSWORD

E2E:SSO Smoke

bash
1pnpm e2e:sso
  • PORTAL_BASE / ADMIN_BASE
  • 仅验证 `/auth`、`/login` 与 SSO 入口可达,完成完整 IdP 换票

视觉巡检

bash
1pnpm visual-tour:install # 首次
2bash scripts/start-dev.sh
3export ADMIN_CONSOLE_LOGIN_PASSWORD=...
4export AUTH_DEV_OWNER_PASSWORD=...
5pnpm visual-tour

输出:docs/visuals/v2/{page}-{theme}.png(26 张,可能 gitignore)

用于 PR 视觉回归,参考 commit feat/enterprise-visual-overhaul-v2


OIDC 配置自检

bash
1pnpm sso:oidc-smoke

退出码:

  • 0 — 字段齐全
  • 1 — 缺字段或 issuer 占位
  • 2 — 未配置 NEXT_PUBLIC_SSO_PROVIDERS

SAML Mock IdP

bash
1pnpm sso:saml-mock-setup
2pnpm sso:saml-mock

本地 mock IdP,见 scripts/sso/mock-saml-idp/


Channel 轮换 E2E

bash
1bash scripts/e2e-channel-rotate.sh

需 gateway channel registry 启用 + admin channels 配置。


性能压测

bash
1k6 run scripts/perf/sso-200-concurrent.js

注意:仓库无官方性能基线,勿将单次结果作为客户 SLA 承诺。见 perf-baselines/README.md


MVP 验收

现场演示前对照:mvp-acceptance-checklist-v20260422.md

区分:

  • ✅ 可演示 — IAM、chat、policy、audit、metering、模型服务
  • ⚠️ 需小改 — 视部署 env
  • ❌ 不可演示 — KB、MCP 市场、edge-agent、tool-watermark 等 stub

编写新测试

  • Unit:各 package 内 vitest,贴近 public API
  • Integration:优先 Playwright 对 admin/portal 关键路径
  • Gateway:Go table-driven tests 在 `internal//_test.go`

避免 implementation-coupled 断言(如断言具体 CSS class),除非视觉回归专用。


相关文档