baa1f58ad0
Stabilize node status, cluster-wide Ceph OSD ids, and QEMU cpu utilization so status/list no longer 500 on model strings; align pulumi defaults to pve1; add bilingual testing docs with the 2026-07-18 ci-all + pulumi-tests pass.
2.3 KiB
2.3 KiB
Language / Язык: English | Русский
Тесты
Где живут наборы и как их запускать.
Структура
| Путь | Назначение |
|---|---|
tests/unit/ |
Офлайн unit-тесты (handlers, контракты, seed, workers, …) |
tests/integration/ |
Тесты с PostgreSQL (миграции, lease задач) |
tests/compatibility/ |
Surface probe, group smoke, proxmoxer HTTPS, verified-surface |
pulumi-tests/ |
Pulumi surface (majors 6–9) + lifecycle pulumi-proxmoxve; HTML-отчёт |
Seed: app/simulation/seed.py (lab для in-process surface CI, small для Compose / Pulumi).
Цели Make
make test-unit # pytest: только unit
make test-integration # pytest -m integration (нужен Postgres)
make test-surface # каждый объявленный метод majors 6–9
make test-compatibility # proxmoxer smoke (Compose --profile tls)
make ci # ruff + mypy + offline pytest + surface
make ci-all # ci + остальной integration + proxmoxer
make pulumi-tests # Pulumi surface + lifecycle; HTML-отчёт
GitHub Actions на push/PR в main запускает make ci и проверку Compose/Helm.
Перед крупными API-изменениями локально: make ci-all и make pulumi-tests.
Отчёт Pulumi: pulumi-tests/pulumi/reports/report.html — см.
pulumi-tests/README.ru.md.
Последний локальный прогон (2026-07-18)
Полный прогон без ограничений на этом checkout:
| Gate | Результат |
|---|---|
make ci-all |
PASS (exit 0) |
| — unit (offline pytest) | 193 passed |
| — surface probe (majors 6–9) | PASS |
| — integration | 12 passed |
| — proxmoxer compatibility | PASS |
make pulumi-tests |
PASS (exit 0), ~28 с |
— lifecycle (pulumi-proxmoxve) |
PASS |
| — surface PVE 6.4-15 / 7.4-16 / 8.4.5 / 9.2.3 | PASS, critical=0 |
| — coverage | 2324 / 2324 методов majors 6–9 |
Артефакты: pulumi-tests/pulumi/reports/report.html (также results.json, junit.xml).