docs: ⛔ TESTING.md — NEVER run tests against PROD API
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
# Testing Safety Rules
|
||||
|
||||
## ⛔ ЗАПРЕЩЕНО — прогонять тесты в PROD
|
||||
|
||||
Никакие тесты (интеграционные, генерационные, дымовые) не должны запускаться против
|
||||
продакшен-API (`https://deck-api.ngcloud.ru`). Это может привести к:
|
||||
|
||||
- Созданию мусорных инстансов в облаке (orphan-ресурсы)
|
||||
- Запуску операций, влияющих на реальных клиентов
|
||||
- Исчерпанию лимитов API (rate limiting)
|
||||
- Неконтролируемым списаниям (биллинг за созданные тестовые ресурсы)
|
||||
|
||||
## ✅ Разрешено для тестов
|
||||
|
||||
- **TEST стенд:** `https://deck-api-test.ngcloud.ru`
|
||||
- **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` — анализ скриптов генерации
|
||||
@@ -7,6 +7,9 @@
|
||||
- **Токен работает, но не на этом endpoint** → токены привязаны к стендам (prod/test/dev)
|
||||
- Правильный curl: `curl -H "User-Agent: Mozilla/5.0 ..." -H "Authorization: Bearer <JWT>" https://deck-api(-test|-dev).ngcloud.ru/api/v1/index.cfm/...`
|
||||
|
||||
## Тестирование
|
||||
> **⛔ Тесты в PROD не прогонять!** Подробнее: [`docs/ops/TESTING.md`](TESTING.md)
|
||||
|
||||
## Registry Server не отвечает
|
||||
1. `kubectl -n terraform-registry get pods -l app=registry-server`
|
||||
2. `kubectl -n terraform-registry logs -l app=registry-server --tail=100`
|
||||
|
||||
Reference in New Issue
Block a user