55 lines
1.7 KiB
Markdown
55 lines
1.7 KiB
Markdown
|
|
# 脚本执行看板 — 本地验证报告(2026-06-08)
|
|||
|
|
|
|||
|
|
## 环境
|
|||
|
|
|
|||
|
|
- 主机:`127.0.0.1:8600`(`bash scripts/start-dev.sh`)
|
|||
|
|
- MySQL / Redis:Docker `nexus-mysql-1` / `nexus-redis-1`
|
|||
|
|
- 凭据:`.env` 中 `NEXUS_TEST_ADMIN_*` 已与本地 `admins` 表对齐(用户提供的本地密码)
|
|||
|
|
|
|||
|
|
## 结果摘要
|
|||
|
|
|
|||
|
|
| 检查项 | 结果 |
|
|||
|
|
|--------|------|
|
|||
|
|
| `bash scripts/local_verify.sh`(完整) | **通过** |
|
|||
|
|
| smoke:MySQL schema + 47 unit tests | 通过 |
|
|||
|
|
| `tests/test_api.py` | **26/26** |
|
|||
|
|
| ruff F | 通过 |
|
|||
|
|
| 脚本相关 pytest(15 条) | 通过 |
|
|||
|
|
|
|||
|
|
## local_verify 明细
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
═══ All local checks passed ═══
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
- `GET /health` → 200
|
|||
|
|
- `POST /api/auth/login` → 200(JWT 获取成功)
|
|||
|
|
- Scripts CRUD:`POST/GET/DELETE /api/scripts/` 均通过
|
|||
|
|
- 其余 Server / Schedules / Settings / Audit / Retries / Sync 端点均通过
|
|||
|
|
|
|||
|
|
## 脚本专项 pytest
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
.venv/bin/pytest tests/test_script_execution_progress_stats.py \
|
|||
|
|
tests/test_script_execution_progress.py \
|
|||
|
|
tests/test_exec_detail_grouping.py \
|
|||
|
|
tests/test_script_dispatch.py -q
|
|||
|
|
# 15 passed
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 异步执行(设计验收)
|
|||
|
|
|
|||
|
|
`test_api` 已覆盖 Scripts 创建/列表/删除;结合 P0 实现,`POST /api/scripts/exec` 在代码审查路径上为「创建记录后立即返回 `running` + 后台 `asyncio` 任务」。
|
|||
|
|
|
|||
|
|
**建议终验(浏览器,需用户):**
|
|||
|
|
|
|||
|
|
1. 脚本库选多台子机执行 → 1s 内关对话框,顶栏进度条更新
|
|||
|
|
2. `#/script-runs/{id}` 查看失败明细与分组
|
|||
|
|
3. 完成时 Alert + 提示音;Telegram 仅汇总(若已配置 bot)
|
|||
|
|
|
|||
|
|
## 未在本报告执行的项
|
|||
|
|
|
|||
|
|
- 生产 `deploy/pre_deploy_check.sh` + 部署
|
|||
|
|
- 366 台规模压测
|
|||
|
|
- Playwright 浏览器自动化
|