42 lines
2.2 KiB
Markdown
42 lines
2.2 KiB
Markdown
# Testing Safety Rules
|
|
|
|
## ⛔ ЗАПРЕЩЕНО — прогонять тесты в PROD
|
|
|
|
Никакие тесты (интеграционные, генерационные, дымовые) не должны запускаться против
|
|
продакшен-API (`https://deck-api.ngcloud.ru`). Причины:
|
|
|
|
- **Удаление инстансов — только через 14 дней.** Созданный тестовый инстанс в PROD нельзя
|
|
удалить раньше чем через 14 суток. Все 14 дней он будет висеть и потреблять ресурсы/биллинг.
|
|
- Создание мусорных инстансов в облаке (orphan-ресурсы)
|
|
- Запуск операций, влияющих на реальных клиентов
|
|
- Исчерпание лимитов API (rate limiting)
|
|
- Неконтролируемые списания (биллинг за созданные тестовые ресурсы)
|
|
|
|
## ✅ Разрешено для тестов
|
|
|
|
- **TEST стенд:** `https://deck-api-test.ngcloud.ru` — **удаление через 15 минут** (быстрая очистка)
|
|
- **DEV стенд:** `https://deck-api-dev.ngcloud.ru`
|
|
- **Локальные моки:** `httptest.Server` (Go `net/http/httptest`)
|
|
- **HAR-based контракт-тесты:** перехваченные HTTP-сессии из `HAR/*.har`
|
|
|
|
## Как настроить окружение
|
|
|
|
```bash
|
|
# TEST стенд (безопасно):
|
|
export NUBES_API_ENDPOINT="https://deck-api-test.ngcloud.ru/api/v1/index.cfm"
|
|
export NUBES_API_TOKEN="$(cat secrets/test.token)"
|
|
|
|
# DEV стенд (безопасно):
|
|
export NUBES_API_ENDPOINT="https://deck-api-dev.ngcloud.ru/api/v1/index.cfm"
|
|
export NUBES_API_TOKEN="$(cat secrets/dev.token)"
|
|
|
|
# PROD — НИКОГДА для тестов!
|
|
export NUBES_API_ENDPOINT="https://deck-api.ngcloud.ru/api/v1/index.cfm" # ⛔
|
|
```
|
|
|
|
## Связанные документы
|
|
|
|
- `docs/ops/API_TOKENS.md` — матрица токенов и endpoint'ов
|
|
- `docs/ops/TROUBLESHOOTING.md` — решение проблем с доступом к API
|
|
- `HISTORY/OPUS/3006_2_scripts_analysis.md` — анализ скриптов генерации
|