Files

125 lines
3.1 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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
После тестов очереди автоматически удаляются.