Files
autotest/DOCS/architecture-next.md
T

35 lines
1.7 KiB
Markdown

# Архитектура app-autotest — рефакторинг (2026-07-31)
> План: `DOCS/opus-plan-2026-07-31.md` | Ревью: `DOCS/opus-review-v1.2.0.md`
> Текущая версия: **v1.2.1** ✅
## ✅ Реализовано (Фазы 1-3)
### Новые модули
- `api/utils.py` — find_uid(), uid_from_location() (вместо 2 дублей)
- `operations/poll.py` — poll_until_done() (общий поллинг)
- `operations/executor.py` — execute_operation() (единый CREATE/non-CREATE флоу, tracker_add внутри)
### Рефакторинг
- `api_test.py` — через executor + poll_until_done, CMDB delete отдельно
- `scenario.py` — через executor + poll, output/ref/bindings резолвинг
- `api_scenario_defs.py` — _validate_steps: output/instance_ref/instance_uid
- `init_db.py` — startup cleanup зависших scenario_runs (>1ч)
- `params-render.js` — общий рендер параметров (вынесен из operations.js)
### Формат шагов (JSONB, без изменений схемы)
```json
{"service_id": 1, "operation": "create", "params": {}, "output": "d1"}
{"service_id": 1, "operation": "modify", "params": {}, "instance_ref": "d1"}
```
Старый формат (без output/ref) — обратная совместимость через fallback.
## ❌ Не реализовано (Фаза 4)
### Модальный редактор сценариев
- `scenario-form.js` — нужна полная переделка
- `index.html` — разметка модала
- Дропдауны сервисов/операций, автоподгрузка параметров
- Поля output/instance_ref
- [↑][↓] перестановка шагов