6033967e6a
Ship Keystone auth, multi-service handlers (Yoga→Dalmatian), Compose/Helm packaging, API contract packs, and pytest/Pulumi coverage labs.
51 lines
2.4 KiB
Markdown
51 lines
2.4 KiB
Markdown
**Language / Язык:** [English](README.md) | [Русский](README.ru.md)
|
||
|
||
# Тесты Pulumi OpenStack (`pulumi-tests`)
|
||
|
||
Лаборатория покрытия: **максимально `pulumi_openstack`**, затем HTTP-probe
|
||
остальных pack-операций с проверкой **непустых тел** и **полным покрытием методов**.
|
||
|
||
## Быстрый старт
|
||
|
||
```bash
|
||
# из корня репозитория
|
||
make pulumi-tests
|
||
|
||
# или
|
||
cd pulumi-tests
|
||
make up && make build
|
||
make test-pulumi-smoke # быстро: только collection GET
|
||
make test-pulumi # полный: все ручки пака × все HTTP-методы
|
||
open reports/pulumi-report.html
|
||
```
|
||
|
||
## Smoke vs полный suite
|
||
|
||
| Цель | Режим | Что проверяется |
|
||
|---|---|---|
|
||
| `make test-pulumi-smoke` | Smoke (`TEST_SMOKE=1`) | `pulumi_openstack` + **collection GET** с nonempty (быстро) |
|
||
| `make pulumi-tests` / `make test-pulumi` | Полный lifecycle | `pulumi_openstack` + **все операции пака × GET/POST/PUT/PATCH/DELETE**, assert полноты (`total == размер пака`), nonempty тел успешных ответов (DELETE/204 могут быть пустыми) |
|
||
|
||
Размеры паков (ops): yoga ~1060 → antelope ~1108 → caracal ~1196 → **dalmatian ~1357**.
|
||
|
||
## Что выполняется (на каждую серию yoga → dalmatian)
|
||
|
||
1. Активация pack серии OpenStack
|
||
2. **`pulumi up`** программы `programs/os_coverage` через Automation API —
|
||
ресурсы через `pulumi_openstack` (identity, images, compute, networking,
|
||
blockstorage, objectstorage, dns, orchestration)
|
||
3. Проверка: **каждый export стека непустой**
|
||
4. HTTP-probe pack-операций (smoke: collection GET; полный: lifecycle всех методов)
|
||
5. Assert полноты покрытия + nonempty JSON у успешных ответов с телом
|
||
6. `pulumi destroy`
|
||
7. Отчёты `pulumi-report.html` + `pulumi-junit.xml`
|
||
|
||
## Отчёты
|
||
|
||
| Файл | Содержимое |
|
||
|---|---|
|
||
| `reports/pulumi-report.html` | HTML-сводка (expected vs actual + breakdown методов) |
|
||
| `reports/pulumi-junit.xml` | JUnit |
|
||
| `reports/series-<name>.json` | Детали pulumi + HTTP по серии |
|
||
| `reports/summary.json` | Агрегаты |
|