doc: интеграция polygon ↔ app-autotest (v1.2.24)

This commit is contained in:
2026-07-31 22:46:10 +04:00
parent 76b067604b
commit dde6636372
+51
View File
@@ -711,3 +711,54 @@ polygon/
~900 строк Python, 37 YAML-конфигов, 19 тестов PASS.
Задеплоено, проверено через curl и kubectl.
Готово к интеграции с app-autotest.
---
## Интеграция polygon ↔ app-autotest (2026-07-31, Sonnet + DeepSeek)
### Промпт Соннету
Сохранён в `polygon-docs/sonnet-integration-prompt.md`. 6 вопросов.
### Ответ Соннета
**Подход:** `endpoint in STANDS` вместо `_is_localhost()`.
Список STANDS уже есть в `http_client.py`:
```python
STANDS = [
"https://lk-api-gateway-dev.ngcloud.ru/api/v1/svc",
"https://lk-api-gateway-test.ngcloud.ru/api/v1/svc",
]
```
Если `NUBES_API_ENDPOINT` — один из STANDS → автоопределение как раньше.
Любой другой URL (localhost, polygon, кастом) → использовать напрямую, без detect.
Для `stand_name`: `https://polygon.pythonk8s.dev.nubes.ru` содержит "dev" →
stand_name вернёт "dev" автоматически. Для localhost → "?" заменяется на "mock".
**Коллизия портов:** polygon и app-autotest оба на 5000 локально. Решение: polygon на 5001.
### Реализация (v1.2.24)
**Файл:** `app-autotest/site/api/auth.py` (единственный файл).
Изменения:
1. Импорт: `from api.http_client import ..., STANDS`
2. `get_client()`: `if endpoint in STANDS: detect_endpoint(...)` — автоопределение только для известных стендов
3. `get_stand()`: `if endpoint not in STANDS: s = stand_name(endpoint); return s if s != "?" else "mock"`
**Использование:**
```bash
# Локально
NUBES_API_ENDPOINT=http://localhost:5001/api/v1/svc python app.py
# Против задеплоенного polygon
NUBES_API_ENDPOINT=https://polygon.pythonk8s.dev.nubes.ru/api/v1/svc python app.py
# Реальные стенды — без изменений
python app.py # NUBES_API_ENDPOINT = lk-api-gateway-test... → автоопределение
```
**Версия:** app-autotest v1.2.23 → v1.2.24 (`a398892`).