Files
vmware-api-simulator/pulumi-tests/README.ru.md
T
inecs f8d3cbdd59 Initial commit: VMware vSphere API simulator scaffold.
Add the FastAPI app, PostgreSQL migrations, Docker/Helm packaging, API
contracts, docs, client examples, and the unit/integration/compatibility
test suite for local client and tooling labs without a real vCenter.
2026-07-18 04:42:11 +03:00

3.0 KiB
Raw Blame History

Гибридный lab-набор pulumi для vmware-api-simulator

Гибрид под pulumi-tests/:

  1. Официальный pulumi-vsphere (SOAP/VIM через govmomi)
  2. Полная REST-матрица IMPLEMENTED × majors 69 (deep + stub)
  3. Deep REST CRUD (session / folder / tag / content library / VM)
  4. Все SOAP-операции из /sdk/vimService.wsdl

Одним pulumi-vsphere закрыть ~1092 REST verb×path нельзя — HTTP-матрица обязательна для полной уверенности.

Критерии pass

Класс Правило
REST GET (inventory / deep) 2xx, непустое тело, без "stub": true на critical-путях major 9
REST stubs (universe) нет 5xx/501; ответ есть; в отчёте как stub (не durable CRUD)
REST deep CRUD create → GET nonempty → update (если есть) → delete → GET missing
SOAP WSDL (~45) POST /sdk без 5xx; Create/Power/Clone/Destroy — проверка inventory
pulumi-vsphere существующие кейсы + nonempty export’ы

Что запускается

Кейс Слой Заметки
PU-INV pulumi-vsphere Inventory data sources
PU-FOLDER pulumi-vsphere Folder create/destroy
PU-VM pulumi-vsphere VirtualMachine create/destroy
PU-TAG pulumi-vsphere TagCategory + Tag
PU-REST REST matrix IMPLEMENTED × majors 69 (smoke: только major 9)
PU-CRUD REST CRUD Session, folder, tagging, content library, VM
PU-SOAP SOAP Все WSDL ops

Артефакты: HTML + JSON + JUnit в volume lab-reports. В JSON: rest.total / rest.failed, crud.failed, soap.failed.

Быстрый старт

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

make pulumi-tests          # полный гибрид
make pulumi-tests-smoke    # PU-INV + REST smoke на одном major

Или из этой директории:

cd pulumi-tests
make up
make test-pulumi           # или: make test-pulumi-smoke

Шлюз (в compose): https://api-gateway (с хоста 127.0.0.1:18443). Seed-профиль: smallDatacenter / Cluster / datastore1 / VM Network / web-01 / esxi01.lab.local / /Datacenter/vm/production.

Цели Make

Цель Смысл
make test-pulumi / pulumi-tests Полный гибрид: pulumi-vsphere + REST×69 + CRUD + SOAP
make test-pulumi-smoke PU-INV + REST major-9 smoke (без VM/tags/CRUD/SOAP)
make up / down / seed Жизненный цикл lab-стека

Структура

pulumi-tests/
  run_suite.py
  report_html.py
  lib/rest_matrix.py
  lib/rest_crud.py
  lib/soap_ops.py
  programs/...

PYTHONPATH монтирует /workspace для импорта app.vsphere.*.