Files
YG_FT/docs/permissions-and-logging-test-results.md
wuyongtao 5ecca9f0bc feat: 权限与日志治理完善,MinIO 独立部署与 tiktoken 离线打包适配
- 后端:强化平台/审批/资源/系统接口权限校验与操作日志,更新权限设计文档与测试用例
- 存储:新增 MinIO 独立部署适配(端口 19000/19001),外部端点与 host-gateway 互通
- 离线:打包 tiktoken cl100k_base 词表进镜像,避免无网环境联网下载
- 其他:算力节点接口微调,前端微调创建页小修,忽略 MinIO 运行时数据

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-12 15:21:42 +08:00

3.8 KiB
Raw Blame History

权限与日志改造自动化测试结果

1. 测试时间

2026-08-12

2. 测试环境

项目 地址/状态
Frontend http://172.25.179.69:16801
Backend http://172.25.179.69:17861/modelTF
WSL 172.25.179.69
Docker 已运行

3. 自动执行结果

用例 结果 实际结果
容器状态 通过 Compute、Frontend、Backend、Redis、MinIO 均为 healthy
Backend 健康检查 通过 /modelTF/health 返回 HTTP 200
Frontend 首页 通过 / 返回 HTTP 200
未登录访问数据集接口 通过 /modelTF/dataset-manage 返回 HTTP 401
Redis 容器状态 通过 容器状态为 healthy
轮询正常日志降噪 通过 最近 120 秒未发现 compute jobs polledhealth check requested 高频日志
轮询异常日志保留 未触发 当前未人为停止算力节点,未产生轮询失败日志
前端构建 通过 npm run build 成功
后端编译 通过 相关 Python 模块 py_compile 成功
Git 差异检查 通过 git diff --check 无格式错误

4. 数据库字段迁移

静态检查结果

初始化 SQL 和运行时迁移逻辑已包含以下字段:

  • models.deleted_at
  • models.deleted_by
  • models.tenant_id
  • models.project_id
  • datasets.deleted_at
  • datasets.deleted_by
  • datasets.tenant_id
  • datasets.project_id
  • trained_models.deleted_at
  • trained_models.deleted_by
  • trained_models.tenant_id
  • trained_models.project_id
  • eval_tasks.deleted_at
  • eval_tasks.deleted_by
  • sessions.issued_at
  • sessions.expires_at

远程数据库检查状态

已通过当前 Backend 容器使用一次性 PostgreSQL 连接检查远程数据库,字段迁移已完成。

确认存在:

  • models: created_bytenant_idproject_iddeleted_atdeleted_by
  • datasets: created_bytenant_idproject_iddeleted_atdeleted_by
  • trained_models: created_bytenant_idproject_iddeleted_atdeleted_by
  • eval_tasks: created_bytenant_idproject_iddeleted_atdeleted_by
  • sessions: issued_atexpires_atlogout_at

使用的检查 SQL

SELECT table_name, column_name
FROM information_schema.columns
WHERE table_name IN ('models', 'datasets', 'trained_models', 'eval_tasks', 'sessions')
ORDER BY table_name, ordinal_position;

5. Redis 说明

已从当前环境确认 Redis 实际密码配置为 Tvhrf659WaX-S1B8FG6c2kSZK07XTv82,使用该密码验证返回 PONG

项目配置已同步为:

REDIS_PASSWORD=Tvhrf659WaX-S1B8FG6c2kSZK07XTv82
REDIS_URL=redis://:Tvhrf659WaX-S1B8FG6c2kSZK07XTv82@redis:6379/0

后续验证应从当前 Docker 环境读取实际密码后执行:

docker compose config
docker exec yg-ft-redis printenv REDISCLI_AUTH
docker exec yg-ft-redis redis-cli -a "$REDISCLI_AUTH" ping

预期返回:

PONG

6. 未自动执行的破坏性用例

以下用例需要测试账号、测试资源或人工确认,未自动执行,以避免影响现有数据:

  • ACL 授权和撤销。
  • 训练任务创建、停止、重试和删除。
  • 评测任务启动和删除。
  • 推理模型加载、卸载和删除。
  • 模型权重合并和导出。
  • GPU 分配、占用和释放。
  • 软删除后资源恢复和数据完整性。
  • 人为停止算力节点验证轮询失败恢复。
  • 登录失败 5 次后的限流验证。
  • Token 过期和注销后的访问验证。

7. 当前结论

当前服务基础可用,页面和 Backend 健康接口正常,未登录鉴权正常,日志降噪逻辑生效,前后端构建通过。

当前仍需人工或使用专用测试数据验证:

  1. 权限矩阵中的创建、执行、删除、审批和 GPU 占用场景。
  2. Token 过期和登录失败限流场景。