Files
proxmox-api-simulator/docs/ru/testing.md
T
Sergey Antropoff baa1f58ad0 Fix CI/pulumi blockers and document test suites with latest PASS results.
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.
2026-07-18 09:38:28 +03:00

53 lines
2.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
**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 69) + 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 69) | 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 69 |
Артефакты: `pulumi-tests/pulumi/reports/report.html` (также `results.json`, `junit.xml`).