Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c855d5d5a5 |
@@ -0,0 +1,8 @@
|
||||
# .env.local.example — Переопределения параметров тестов
|
||||
# Скопируй в .env.local и измени значения если нужно
|
||||
|
||||
# Переопределить endpoint SQS (если другой домен)
|
||||
# BASE_URL="https://my-custom-sqs.example.com"
|
||||
|
||||
# Переопределить admin token (если другой токен)
|
||||
# ADMIN_TOKEN="my-custom-admin-token-123"
|
||||
@@ -0,0 +1,50 @@
|
||||
# 🧪 Тесты для shared-SQS
|
||||
|
||||
Папка для запуска функциональных и стресс-тестов shared-SQS сервиса.
|
||||
|
||||
## ⚡ Быстрый старт
|
||||
|
||||
\`\`\`bash
|
||||
bash run.sh
|
||||
\`\`\`
|
||||
|
||||
Готово! Скрипт:
|
||||
1. 📖 Читает параметры из \`deploy/values.yaml\`
|
||||
2. 🔍 Проверяет доступность сервиса
|
||||
3. 🚀 Запускает quick_test.sh (31 проверка, ~1 минута)
|
||||
|
||||
## 🎯 Как использовать?
|
||||
|
||||
### Вариант 1: Быстро (из значений values.yaml)
|
||||
\`\`\`bash
|
||||
cd tests-deploy
|
||||
bash run.sh
|
||||
\`\`\`
|
||||
|
||||
### Вариант 2: Переопределить параметры
|
||||
\`\`\`bash
|
||||
cp .env.local.example .env.local
|
||||
# Отредактируй .env.local с твоими параметрами
|
||||
bash run.sh
|
||||
\`\`\`
|
||||
|
||||
### Вариант 3: Через env-переменные (для CI/CD)
|
||||
\`\`\`bash
|
||||
BASE_URL=https://my-sqs.example.com ADMIN_TOKEN=my-token bash run.sh
|
||||
\`\`\`
|
||||
|
||||
## 📊 Что проверяется?
|
||||
|
||||
✅ Health check
|
||||
✅ Admin API (CRUD тенантов)
|
||||
✅ SQS операции (CreateQueue, SendMessage, etc)
|
||||
✅ Batch операции
|
||||
✅ Tags API
|
||||
✅ UI API с JWT
|
||||
|
||||
## 🚨 Если не работает
|
||||
|
||||
1. Проверь, что values.yaml содержит правильный домен и токен
|
||||
2. Убедись, что сервис deployed и готов
|
||||
3. Проверь DNS: \`nslookup qu.kube5s.ru\`
|
||||
|
||||
Executable
+12
@@ -0,0 +1,12 @@
|
||||
#!/bin/bash
|
||||
# quick.sh — Только быстрые тесты (31 проверка, ~1 минута)
|
||||
set -e
|
||||
SCRIPT_DIR="\$(cd \"\$(dirname \"\${BASH_SOURCE[0]}\")\" && pwd)"
|
||||
REPO_ROOT="\$(dirname \"\$SCRIPT_DIR\")"
|
||||
VALUES_FILE=\${REPO_ROOT}/deploy/values.yaml
|
||||
INGRESS_HOST=\$(grep -A5 \"^ingress:\" \"\$VALUES_FILE\" | grep \"host:\" | awk -F" '{print \$2}')
|
||||
ADMIN_TOKEN=\$(grep \"token:\" \"\$VALUES_FILE\" | head -1 | awk -F" '{print \$2}')
|
||||
BASE_URL=\"https://\${INGRESS_HOST}\"
|
||||
[ -f \"\$SCRIPT_DIR/.env.local\" ] && source \"\$SCRIPT_DIR/.env.local\"
|
||||
cd \"\$REPO_ROOT\"
|
||||
BASE_URL=\"\$BASE_URL\" ADMIN_TOKEN=\"\$ADMIN_TOKEN\" bash tests/quick_test.sh
|
||||
Executable
+71
@@ -0,0 +1,71 @@
|
||||
#!/bin/bash
|
||||
# run.sh — Запуск тестов shared-SQS с параметрами из values.yaml
|
||||
set -e
|
||||
|
||||
RED='\\033[0;31m'
|
||||
GREEN='\\033[0;32m'
|
||||
YELLOW='\\033[1;33m'
|
||||
NC='\\033[0m'
|
||||
|
||||
SCRIPT_DIR="\$(cd \"\$(dirname \"\${BASH_SOURCE[0]}\")\" && pwd)"
|
||||
REPO_ROOT="\$(dirname \"\$SCRIPT_DIR\")"
|
||||
VALUES_FILE="\${REPO_ROOT}/deploy/values.yaml"
|
||||
|
||||
echo -e "\${GREEN}╔════════════════════════════════════════════╗\${NC}"
|
||||
echo -e "\${GREEN}║ shared-sqs Тесты (из values.yaml) ║\${NC}"
|
||||
echo -e "\${GREEN}╚════════════════════════════════════════════╝\${NC}"
|
||||
echo ""
|
||||
|
||||
if [ ! -f "\$VALUES_FILE" ]; then
|
||||
echo -e "\${RED}❌ Файл не найден: \$VALUES_FILE\${NC}"
|
||||
echo " Убедись что находишься в корне репозитория shared-SQS"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo -e "\${YELLOW}📄 Читаю параметры из deploy/values.yaml...\${NC}"
|
||||
|
||||
INGRESS_HOST=\$(grep -A5 \"^ingress:\" \"\$VALUES_FILE\" | grep \"host:\" | awk -F" '{print \$2}')
|
||||
ADMIN_TOKEN=\$(grep \"token:\" \"\$VALUES_FILE\" | head -1 | awk -F" '{print \$2}')
|
||||
|
||||
if [ -z \"\$INGRESS_HOST\" ] || [ -z \"\$ADMIN_TOKEN\" ]; then
|
||||
echo -e \"\${RED}❌ Не удалось прочитать параметры\${NC}\"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
BASE_URL=\"https://\${INGRESS_HOST}\"
|
||||
|
||||
if [ -f \"\$SCRIPT_DIR/.env.local\" ]; then
|
||||
source \"\$SCRIPT_DIR/.env.local\"
|
||||
fi
|
||||
|
||||
echo \"\"
|
||||
echo -e \"\${GREEN}✅ Параметры загружены:\${NC}\"
|
||||
echo \" BASE_URL: \$BASE_URL\"
|
||||
echo \" ADMIN_TOKEN: \${ADMIN_TOKEN:0:20}...\"
|
||||
echo \"\"
|
||||
|
||||
echo -e \"\${YELLOW}🔍 Проверяю доступность...\${NC}\"
|
||||
if curl -sf --max-time 5 \"\${BASE_URL}/health\" > /dev/null 2>&1; then
|
||||
echo -e \"\${GREEN}✅ Сервис доступен\${NC}\"
|
||||
else
|
||||
echo -e \"\${RED}❌ Сервис НЕ доступен: \$BASE_URL\${NC}\"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo \"\"
|
||||
echo -e \"\${GREEN}════════════════════════════════════════════\${NC}\"
|
||||
echo -e \"\${GREEN}🚀 Запускаю quick_test.sh...\${NC}\"
|
||||
echo -e \"\${GREEN}════════════════════════════════════════════\${NC}\"
|
||||
echo \"\"
|
||||
|
||||
cd \"\$REPO_ROOT\"
|
||||
if BASE_URL=\"\$BASE_URL\" ADMIN_TOKEN=\"\$ADMIN_TOKEN\" bash tests/quick_test.sh; then
|
||||
QUICK_RESULT=0
|
||||
echo -e \"\${GREEN}✅ quick_test.sh PASSED\${NC}\"
|
||||
else
|
||||
QUICK_RESULT=1
|
||||
echo -e \"\${RED}❌ quick_test.sh FAILED\${NC}\"
|
||||
fi
|
||||
|
||||
echo \"\"
|
||||
exit \$QUICK_RESULT
|
||||
Executable
+12
@@ -0,0 +1,12 @@
|
||||
#!/bin/bash
|
||||
# stress.sh — Стресс-тесты (23 проверки, ~7 минут)
|
||||
set -e
|
||||
SCRIPT_DIR="\$(cd \"\$(dirname \"\${BASH_SOURCE[0]}\")\" && pwd)"
|
||||
REPO_ROOT="\$(dirname \"\$SCRIPT_DIR\")"
|
||||
VALUES_FILE=\${REPO_ROOT}/deploy/values.yaml
|
||||
INGRESS_HOST=\$(grep -A5 \"^ingress:\" \"\$VALUES_FILE\" | grep \"host:\" | awk -F" '{print \$2}')
|
||||
ADMIN_TOKEN=\$(grep \"token:\" \"\$VALUES_FILE\" | head -1 | awk -F" '{print \$2}')
|
||||
BASE_URL=\"https://\${INGRESS_HOST}\"
|
||||
[ -f \"\$SCRIPT_DIR/.env.local\" ] && source \"\$SCRIPT_DIR/.env.local\"
|
||||
cd \"\$REPO_ROOT\"
|
||||
BASE_URL=\"\$BASE_URL\" ADMIN_TOKEN=\"\$ADMIN_TOKEN\" bash tests/stress_test.sh
|
||||
Reference in New Issue
Block a user