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.
53 lines
2.3 KiB
Markdown
53 lines
2.3 KiB
Markdown
**Language / Язык:** [English](../testing.md) | [Русский](testing.md)
|
||
|
||
# Тесты
|
||
|
||
Где живут наборы и как их запускать.
|
||
|
||
## Структура
|
||
|
||
| Путь | Назначение |
|
||
|---|---|
|
||
| `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
|
||
|
||
```bash
|
||
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`](../../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`).
|