3.9 KiB
3.9 KiB
Результаты тестирования 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