# Tests Deploy Скрипты для verification и testing development deployment shared-SQS. ## ⚠️ ПЕРЕД ТЕСТАМИ: Деплой сервиса ### Шаг 1: Заполнить параметры Отредактировать `deploy/values.yaml`: ```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 ```bash # Из корня репозитория helm install shared-sqs ./deploy \ -n shared-sqs \ --create-namespace # Проверить что pod running kubectl -n shared-sqs get pod ``` ### Шаг 3: Когда pod ready (1/1) — запускать тесты ```bash cd tests-deploy bash run.sh ``` --- ## Быстрые тесты (7 операций SQS, ~30 сек) ```bash cd tests-deploy bash run.sh ``` **Что тестируется:** - CreateQueue, DeleteQueue - ListQueues, GetQueueUrl - SendMessage, ReceiveMessage - DeleteMessage ## Полный набор тестов (18 операций, batch, visibility, tags) ```bash 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`: ```bash # .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 После тестов очереди автоматически удаляются.