# 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` — анализ скриптов генерации