doc: результаты тестирования polygon v0.4.3 — 35/35 PASS

This commit is contained in:
2026-08-01 19:56:25 +04:00
parent c31cdb73ef
commit 85b02c70f8
+100
View File
@@ -0,0 +1,100 @@
# Результаты тестирования Polygon v0.4.3
Дата: 2026-08-01
---
## Python API-тесты: 35/35 PASS ✅
Файл: `polygon/tests/test_api.py`
Цель: `https://polygon.pythonk8s.dev.nubes.ru`
### 1. Health (1/1)
-`GET /health → 200 OK`
### 2. Services (4/4)
-`GET /services → 200, >=37 сервисов`
-`GET /services → каждый имеет svcId, svc, svcShort`
-`GET /services/1 → 200 + operations`
-`GET /services/99999 → 404`
### 3. Instances (10/10)
-`GET /instances (после reset) → total=0`
-`POST /instances (без serviceId) → 400`
-`POST /instances (serviceId=99999) → 404`
-`POST /instances → 201 + Location + instanceUid`
-`GET /instances → total=1`
-`GET /instances?pageSize=500 → pageSize=200 (clamped)`
-`GET /instances?page=-1 → не падает`
-`GET /instances/{uid} → status=creating, имя верное`
-`GET /instances/{uid}?fields=... → 200`
-`GET /instances/nonexistent → 404`
### 4. Operations (8/8)
-`GET /instanceOperations/default/18 → 200 + cfsParams`
-`POST /instanceOperations → 201 + Location`
-`GET /op/{uid} → dtStart=null, dtFinish=null, isSuccessful=null`
-`POST /instanceOperationCfsParams → 200`
-`GET /validate-cfs → 200`
-`POST /run → ok=true`
-`POST /run (повторно) → 409`
-`GET /op/{uid} (после run) → dtFinish!=null, isSuccessful=true`
### 5. Fail-next (4/4)
-`POST /_mock/fail-next → 200, fail_next=true`
-`POST /instances (fail-next) → 201`
-`POST /instanceOperations (fail-next) → 201`
-`POST /run (fail-next) → ok=false, error='mock failure'`
### 6. Auth (3/3 + 2 skipped)
- ⚠️ Auth отключена на проде (MOCK_AUTH_TOKEN не задан)
-`POST /_mock/reset (верный токен) → 200`
-`GET /services (без токена) → 200`
-`POST /instances (без токена) → 201`
### 7. Mock state (5/5)
-`GET /_mock/state → instances + operations`
-`GET /_mock/services → count >= 37`
-`POST /_mock/delay/0.1 → delay=0.1`
-`POST /_mock/delay/100 → 400`
-`POST /_mock/delay/-1 → 400`
---
## Swagger UI (browser)
| Проверка | Результат |
|----------|-----------|
| Страница загружается | ✅ |
| Логотип Nubes + версия | ✅ |
| Ссылка «← На главную» | ✅ |
| Все 6 тегов | ✅ services, instances, operations, mock, health |
| Все 17 эндпоинтов | ✅ |
| Все 20 схем | ✅ |
| Спека — валидный JSON | ✅ |
| `security: []` (глобальный) | ✅ |
| `mockAuth` (apiKey, X-Mock-Auth) | ✅ |
| `_mock/*` имеют `security: [mockAuth]` | ✅ 5/5 |
| `dtStart/dtFinish``["string","null"]` | ✅ OAS 3.1.0 |
| `isSuccessful``["boolean","null"]` | ✅ |
| `RunResponse``ok + error` | ✅ |
| Кнопка Authorize | ⚠️ недоступна в browser-окружении |
---
## Найденные расхождения (prod vs код)
| Проблема | Статус |
|----------|--------|
| Описание всё ещё говорит «Bearer-токен» | 🔧 Исправлено в коде, не задеплоено |
| Auth (MOCK_AUTH_TOKEN) не включена | ⚙️ Конфигурация деплоя |
| `pageSize` обрезается молча | ✅ Задокументировано в спеке |
---
## Итого
- **API-тесты**: 35/35 PASS
- **Swagger UI**: страница работает, спека валидна, все эндпоинты и схемы на месте
- **Баги v0.4.2**: все 5 исправлены, проверены локально
- **К деплою**: закоммитить исправление описания auth, повысить версию, redeploy