83 lines
2.8 KiB
Bash
Executable File
83 lines
2.8 KiB
Bash
Executable File
#!/bin/bash
|
|
# run.sh — запуск тестов shared-sqs для verification деплоя
|
|
# 2026-04-13 — автоматическое извлечение параметров из deploy/values.yaml
|
|
|
|
set -e
|
|
|
|
echo "shared-sqs Тесты"
|
|
echo
|
|
|
|
# Переход в корневую папку репозитория (parent от tests-deploy/)
|
|
REPO_ROOT="$(dirname "$(cd "$(dirname "$0")" && pwd)")"
|
|
VALUES_FILE="$REPO_ROOT/deploy/values.yaml"
|
|
QUICK_TEST="$REPO_ROOT/quick_test.sh"
|
|
ENV_LOCAL="$REPO_ROOT/tests-deploy/.env.local"
|
|
|
|
# Функция для извлечения параметров из YAML
|
|
extract_param() {
|
|
local file="$1"
|
|
local key="$2"
|
|
grep "$key:" "$file" | head -1 | sed -n "s/.*$key: \"\([^\"]*\).*/\1/p"
|
|
}
|
|
|
|
# Функция для извлечения nested параметров (ingress.host)
|
|
extract_nested() {
|
|
local file="$1"
|
|
local section="$2"
|
|
local key="$3"
|
|
grep -A5 "^$section:" "$file" | grep "$key:" | sed -n "s/.*$key: \"\([^\"]*\).*/\1/p"
|
|
}
|
|
|
|
# Проверка наличия файлов
|
|
if [ ! -f "$VALUES_FILE" ]; then
|
|
echo "❌ Ошибка: не найден $VALUES_FILE"
|
|
exit 1
|
|
fi
|
|
|
|
if [ ! -f "$QUICK_TEST" ]; then
|
|
echo "❌ Ошибка: не найден $QUICK_TEST"
|
|
echo " Ожидался: $QUICK_TEST"
|
|
exit 1
|
|
fi
|
|
|
|
echo "Читаю параметры из deploy/values.yaml..."
|
|
|
|
# Извлечение параметров
|
|
INGRESS_HOST=$(extract_nested "$VALUES_FILE" "ingress" "host")
|
|
ADMIN_TOKEN=$(extract_param "$VALUES_FILE" "token")
|
|
|
|
# Demo credentials — для ознакомительного тестирования
|
|
AWS_ACCESS_KEY_ID="SSAK-demo-shared-sqs"
|
|
AWS_SECRET_ACCESS_KEY="demo-secret-key-shared-sqs-ngcloud-2026"
|
|
AWS_DEFAULT_REGION="us-east-1"
|
|
BASE_URL="https://$INGRESS_HOST"
|
|
|
|
# Override из .env.local (если существует)
|
|
if [ -f "$ENV_LOCAL" ]; then
|
|
echo " → Загружу override из .env.local"
|
|
# shellcheck disable=SC1090
|
|
source "$ENV_LOCAL"
|
|
fi
|
|
|
|
echo "✅ Параметры загружены:"
|
|
echo " BASE_URL: $BASE_URL"
|
|
echo " ADMIN_TOKEN: ${ADMIN_TOKEN:0:20}..."
|
|
echo
|
|
|
|
# Проверка доступности сервиса
|
|
echo "🔍 Проверяю доступность..."
|
|
if ! curl -sf "$BASE_URL/health" > /dev/null 2>&1; then
|
|
echo "❌ Сервис недоступен по $BASE_URL"
|
|
exit 1
|
|
fi
|
|
echo "✅ Сервис доступен"
|
|
echo
|
|
|
|
# Запуск тестов
|
|
echo "════════════════════════════════════════════"
|
|
echo "🚀 Запускаю quick_test.sh..."
|
|
echo "════════════════════════════════════════════"
|
|
|
|
export BASE_URL ADMIN_TOKEN AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY AWS_DEFAULT_REGION
|
|
bash "$QUICK_TEST"
|