3.1 KiB
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 для APIadmin.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.shREADME.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
После тестов очереди автоматически удаляются.