# 权限与日志改造自动化测试结果 ## 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 polled` 或 `health 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_by`、`tenant_id`、`project_id`、`deleted_at`、`deleted_by` - `datasets`: `created_by`、`tenant_id`、`project_id`、`deleted_at`、`deleted_by` - `trained_models`: `created_by`、`tenant_id`、`project_id`、`deleted_at`、`deleted_by` - `eval_tasks`: `created_by`、`tenant_id`、`project_id`、`deleted_at`、`deleted_by` - `sessions`: `issued_at`、`expires_at`、`logout_at` 使用的检查 SQL: ```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`。 项目配置已同步为: ```env REDIS_PASSWORD=Tvhrf659WaX-S1B8FG6c2kSZK07XTv82 REDIS_URL=redis://:Tvhrf659WaX-S1B8FG6c2kSZK07XTv82@redis:6379/0 ``` 后续验证应从当前 Docker 环境读取实际密码后执行: ```bash docker compose config docker exec yg-ft-redis printenv REDISCLI_AUTH docker exec yg-ft-redis redis-cli -a "$REDISCLI_AUTH" ping ``` 预期返回: ```text PONG ``` ## 6. 未自动执行的破坏性用例 以下用例需要测试账号、测试资源或人工确认,未自动执行,以避免影响现有数据: - ACL 授权和撤销。 - 训练任务创建、停止、重试和删除。 - 评测任务启动和删除。 - 推理模型加载、卸载和删除。 - 模型权重合并和导出。 - GPU 分配、占用和释放。 - 软删除后资源恢复和数据完整性。 - 人为停止算力节点验证轮询失败恢复。 - 登录失败 5 次后的限流验证。 - Token 过期和注销后的访问验证。 ## 7. 当前结论 当前服务基础可用,页面和 Backend 健康接口正常,未登录鉴权正常,日志降噪逻辑生效,前后端构建通过。 当前仍需人工或使用专用测试数据验证: 1. 权限矩阵中的创建、执行、删除、审批和 GPU 占用场景。 2. Token 过期和登录失败限流场景。