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