#!/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"