Files

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"