docs: update PROJECT_EVALUATION/TDD_PLAN/ROADMAP for Phase 3

- Score: 6.2 -> 7.6 (+1.4)
- Security: 5 -> 8 (+3.0, biggest jump)
- Tests: 44 -> 85 (41 new)
- Next: Phase 4 (SQL AST, rule CRUD, Alembic)
This commit is contained in:
logan committed 2026-05-22 13:11:12 +08:00
1 parent 66b09e4d85
commit e45fbf3586
3 files changed
+142 -99

No files matched your search

+36 -31
View File
@@ -145,38 +145,41 @@ npm install -D vitest @testing-library/react @testing-library/jest-dom jsdom
> 先写测试,再写代码
#### 3.1 Instance 密码加密
#### 3.1 Instance 密码加密 ✅ 已完成
| # | TDD 步骤 | 状态 |
|---|---------|------|
| 1 | 🔴 写测试:创建实例时密码加密存储 | ⬜ |
| 2 | 🔴 写测试:读取实例时密码解密返回 | ⬜ |
| 3 | 🟢 实现 AES 加密/解密工具 | ⬜ |
| 4 | 🟢 集成到 InstanceService | ⬜ |
| 5 | ✅ 测试通过 | ⬜ |
| 1 | 🔴 写测试:创建实例时密码加密存储 | ✅ test_crypto.py |
| 2 | 🔴 写测试:读取实例时密码解密返回 | ✅ test_crypto.py |
| 3 | 🟢 实现 AES-256-GCM 加密/解密工具 | ✅ app/core/crypto.py |
| 4 | 🟢 集成到 instance endpoint (create/update/decrypt) | ✅ |
| 5 | ✅ 9 个加密相关测试全部通过 | ✅ |
#### 3.2 SQL 审核规则引擎
#### 3.2 SQL 审核规则引擎 ✅ 已完成
| # | TDD 步骤 | 状态 |
|---|---------|------|
| 1 | 🔴 写测试:SELECT * 规则触发 warning | ⬜ |
| 2 | 🔴 写测试:无 WHERE 的 UPDATE/DELETE 规则触发 error | ⬜ |
| 3 | 🔴 写测试:LIMIT 缺失规则触发 info | ⬜ |
| 4 | 🔴 写测试:自定义规则 CRUD | ⬜ |
| 5 | 🟢 实现规则引擎 | ⬜ |
| 6 | 🟢 实现规则 API | ⬜ |
| 7 | ✅ 测试通过 | ⬜ |
| 1 | 🔴 写测试:SELECT * 规则触发 info | ✅ |
| 2 | 🔴 写测试:无 WHERE 的 UPDATE/DELETE 规则触发 error | ✅ |
| 3 | 🔴 写测试:DROP TABLE/TRUNCATE 规则 | ✅ |
| 4 | 🔴 写测试:生产环境额外规则(ALTER TABLE 等) | ✅ |
| 5 | 🟢 实现 10 条规则引擎 | ✅ app/services/audit_engine.py |
| 6 | 🟢 集成到工单创建流程(自动审核+评分) | ✅ |
| 7 | ✅ 23 个审核引擎测试全部通过 | ✅ |
#### 3.3 审核规则管理 API
#### 3.3 操作审计日志 ✅ 已完成
| # | 测试用例 | 状态 |
|---|---------|------|
| 1 | 列出规则 | ⬜ |
| 2 | 创建规则 | ⬜ |
| 3 | 更新规则 | ⬜ |
| 4 | 删除规则 | ⬜ |
| 5 | 启用/禁用规则 | ⬜ |
| 6 | 按数据库类型筛选 | ⬜ |
| 1 | 审计日志列表 API (admin/dba) | ✅ |
| 2 | 审计日志列表 API (developer 禁止) | ✅ |
| 3 | 创建实例 → 审计日志 | ✅ |
| 4 | 创建用户 → 审计日志 | ✅ |
| 5 | 创建工单 → 审计日志(含审核评分) | ✅ |
| 6 | 审批工单 → 审计日志 | ✅ |
| 7 | 审计日志分页 | ✅ |
| 8 | 审计日志过滤 | ✅ |
| 9 | ✅ 9 个审计日志测试全部通过 | ✅ |
---
@@ -198,14 +201,16 @@ npm install -D vitest @testing-library/react @testing-library/jest-dom jsdom
```
backend/
├── tests/
│ ├── conftest.py # fixtures: db, client, users, token
│ ├── test_auth.py # 认证测试
│ ├── test_users.py # 用户管理测试
│ ├── test_instances.py # 数据源测试
│ ├── test_tickets.py # 工单测试
│ ├── test_query.py # 查询测试
│ ├── test_dashboard.py # 仪表盘测试
│ └── test_security.py # 安全测试
│ ├── conftest.py # fixtures: db, client, users, token, test_instance
│ ├── test_auth.py # 认证测试 (8)
│ ├── test_users.py # 用户管理测试 (8)
│ ├── test_instances.py # 数据源测试 (8)
│ ├── test_tickets.py # 工单测试 (11)
│ ├── test_query.py # 查询测试 (4)
│ ├── test_dashboard.py # 仪表盘测试 (2)
│ ├── test_crypto.py # 加密测试 (9)
│ ├── test_audit_engine.py # SQL审核引擎测试 (23)
│ └── test_audit_logs.py # 审计日志测试 (9)
frontend/
├── src/
@@ -235,5 +240,5 @@ frontend/
1. ~~**立刻** — 创建 conftest.py + test_auth.py~~ ✅
2. ~~**v0.2.0** — Phase 1 全部完成~~ ✅
3. ~~**v0.2.1** — Phase 2 前后端对接~~ ✅
4. **v0.3.0** — Phase 3 密码加密 + SQL 审核引擎
5. **v0.4.0** — Phase 4 安全测试
4. ~~**v0.3.0** — Phase 3 密码加密 + SQL 审核引擎~~ ✅ (85 tests)
5. **v0.4.0** — Phase 4 安全测试 + AST 解析