Files
shared-SQS/tests-deploy/README.md
T

3.1 KiB

Tests Deploy

Скрипты для verification и testing development deployment shared-SQS.

⚠️ ПЕРЕД ТЕСТАМИ: Деплой сервиса

Шаг 1: Заполнить параметры

Отредактировать deploy/values.yaml:

redis:
  addr: "your-redis-host:6379"      # где Redis
  user: "default"
  password: "your-redis-password"

admin:
  token: "sqs-admin-..."             # токен для admin API

ingress:
  host: "your-domain.com"            # домен для доступа к SQS

billing:
  postgres:
    host: "your-postgres-host"       # где PostgreSQL
    password: "your-postgres-password"

Шаг 2: Деплоить через Helm

# Из корня репозитория
helm install shared-sqs ./deploy \
  -n shared-sqs \
  --create-namespace

# Проверить что pod running
kubectl -n shared-sqs get pod

Шаг 3: Когда pod ready (1/1) — запускать тесты

cd tests-deploy
bash run.sh

Быстрые тесты (7 операций SQS, ~30 сек)

cd tests-deploy
bash run.sh

Что тестируется:

  • CreateQueue, DeleteQueue
  • ListQueues, GetQueueUrl
  • SendMessage, ReceiveMessage
  • DeleteMessage

Полный набор тестов (18 операций, batch, visibility, tags)

cd tests-deploy
bash stress.sh

Дополнительно тестируется:

  • GetQueueAttributes, SetQueueAttributes
  • TagQueue, ListQueueTags, UntagQueue
  • ChangeMessageVisibility, ChangeMessageVisibilityBatch
  • SendMessageBatch, ReceiveMessage batch
  • DeleteMessageBatch
  • PurgeQueue

Как это работает

Автоматическое извлечение параметров

run.sh и stress.sh автоматически читают параметры из deploy/values.yaml:

  • ingress.host → BASE_URL для API
  • admin.token → ADMIN_TOKEN
  • Используются demo credentials для SQS операций (встроены)

Проверка доступности

Перед запуском тестов скрипты проверяют доступность сервиса через curl /health.

Override параметров

Если нужно использовать свои значения, создайте .env.local:

# .env.local
export BASE_URL="https://your-domain.com"
export AWS_ACCESS_KEY_ID="your-access-key"
export AWS_SECRET_ACCESS_KEY="your-secret-key"

Файлы

  • run.sh — запуск quick тестов
  • stress.sh — запуск полного набора
  • quick.sh — alias для run.sh
  • README.md — эта инструкция
  • .env.local.example — пример override-файла

Требования

  • bash 4.0+
  • curl
  • aws-cli
  • Депложенный shared-SQS с ingress доступом
  • kubectl (для проверки пода)

Результаты

Успехом считается:

  • PASS=7 FAIL=0 для quick tests
  • PASS=18 FAIL=0 для stress tests

После тестов очереди автоматически удаляются.