Files
proxmox-api-simulator/pulumi-tests/README.ru.md
T
Sergey Antropoff 48df10b17e Prepare 0.1.0 for lab release: durable handlers, HTTP Compose, CI, and pulumi-tests.
- Harden DB-backed handlers and seed profiles; align client wire shapes for
  cluster resources, QEMU config, and node SSL fields
- Serve plain HTTP on Compose :8006; keep TLS optional (--profile tls) and
  terminate HTTPS at Kubernetes Ingress
- Add pulumi-tests (full contract surface majors 6–9 + BPG lifecycle) and
  make pulumi-tests
- Ship bilingual docs, CHANGELOG, SECURITY, CONTRIBUTING, and GitHub Actions
  (make ci + Compose/Helm validation)
2026-07-18 04:18:05 +03:00

2.0 KiB
Raw Blame History

Language / Язык: English | Русский

Интеграционный набор Pulumi

Suite только в Docker против симулятора Proxmox API.

Слой Покрытие
Surface 100% объявленных методов контракта majors 69 (каждый path+verb) по HTTP (pvelib/surface.py). PASS только при declared == probed на каждый major и нуле критичных сбоев (501, «not supported», 5xx, exceptions, неизвестные verb).
Lifecycle Только pulumi-proxmoxve (мост BPG) — Provider, data sources инвентаря, VmLegacy + проверки непустых outputs. Это не полное покрытие API: в провайдере десятки ресурсов, не тысячи contract methods. HTTPS через lab TLS-шлюз; surface — HTTP.

В отчётах (pulumi/reports/report.html, results.json, junit.xml) — блок Full contract coverage с итогами declared/probed по major и суммой (например Coverage: 2324/2324 methods across majors 69).

Структура

pulumi-tests/
  pulumi/
    run_suite.py
    report.py
    pvelib/                 # httpx + surface probe
    programs/lifecycle/     # программа pulumi-proxmoxve
  docker/docker-compose.yml
  Makefile

Запуск

Из корня репозитория:

make pulumi-tests

Или:

cd pulumi-tests
make up
make test-smoke
make test
open pulumi/reports/report.html
make down

Env провайдера (Compose): PROXMOX_VE_ENDPOINT=https://tls-gateway:8443/ (внутренний TLS suite — pulumi-proxmoxve не принимает http://), плюс username/password/INSECURE. Surface probe: API_URL=http://simulator:8006. Хостовый lab URL — plain http://localhost:8006/ (HTTPS в K8s — только Ingress).