add hardcore_test, load_test, update README with AWS CLI install + test descriptions
This commit is contained in:
@@ -18,6 +18,30 @@
|
||||
|
||||
Самый простой способ работы — через стандартный AWS CLI.
|
||||
|
||||
### Установка
|
||||
|
||||
**Linux / macOS (pip):**
|
||||
```bash
|
||||
pip install awscli
|
||||
```
|
||||
|
||||
**Linux (пакет):**
|
||||
```bash
|
||||
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o awscliv2.zip
|
||||
unzip awscliv2.zip && sudo ./aws/install
|
||||
```
|
||||
|
||||
**macOS (brew):**
|
||||
```bash
|
||||
brew install awscli
|
||||
```
|
||||
|
||||
**Windows:** скачайте установщик с https://aws.amazon.com/cli/
|
||||
|
||||
Проверка: `aws --version`
|
||||
|
||||
### Настройка
|
||||
|
||||
```bash
|
||||
export AWS_ACCESS_KEY_ID="SQSAK-test001-ae4dc8"
|
||||
export AWS_SECRET_ACCESS_KEY="J8mElXq8Nwww8iFRtGJCm8KfxM9XSTluTqS2A67xsEE"
|
||||
@@ -132,39 +156,51 @@ console.log(res.Messages[0].Body);
|
||||
|
||||
---
|
||||
|
||||
## Проверка работоспособности
|
||||
## Тесты
|
||||
|
||||
В репозитории есть `quick_test.sh` — скрипт для быстрой проверки сервиса.
|
||||
В репозитории три тестовых скрипта — от простого к сложному.
|
||||
|
||||
**Требования:** `curl`, `bash`.
|
||||
### quick_test.sh — быстрая проверка
|
||||
|
||||
**Требования:** `curl`, `bash`
|
||||
|
||||
```bash
|
||||
bash quick_test.sh
|
||||
```
|
||||
|
||||
Что проверяет:
|
||||
1. Создание очереди
|
||||
2. Очередь видна в списке
|
||||
3. Отправка сообщения
|
||||
4. Получение сообщения (тело совпадает)
|
||||
5. Удаление очереди
|
||||
6. Очередь исчезла из списка
|
||||
Проверяет 6 базовых операций: создание очереди → список → отправка → получение → удаление → проверка удаления.
|
||||
|
||||
Ожидаемый вывод:
|
||||
### hardcore_test.sh — полный тест (AWS CLI + curl)
|
||||
|
||||
**Требования:** `aws cli`, `curl`, `bash`
|
||||
|
||||
```bash
|
||||
bash hardcore_test.sh
|
||||
```
|
||||
=== SQS Quick Test ===
|
||||
|
||||
✅ Создание очереди
|
||||
✅ Очередь в списке
|
||||
✅ Отправка сообщения
|
||||
✅ Получение сообщения
|
||||
✅ Удаление очереди
|
||||
✅ Очередь удалена из списка
|
||||
25 тестов в 8 группах:
|
||||
- CRUD через AWS CLI и через curl
|
||||
- Кросс-доставка: CLI отправляет → curl получает (и наоборот)
|
||||
- Невалидный ввод: несуществующие очереди, пустые параметры, неизвестные команды
|
||||
- Спецсимволы: JSON, XML-сущности, Unicode, эмодзи
|
||||
- Visibility timeout: сообщение скрыто → снова доступно
|
||||
- Множественная доставка: 10 сообщений без потерь
|
||||
- Целостность: проверка MD5
|
||||
|
||||
Результат: 6 OK / 0 FAIL
|
||||
Всё работает!
|
||||
### load_test.sh — нагрузочный тест
|
||||
|
||||
**Требования:** `curl`, `bash`
|
||||
|
||||
```bash
|
||||
bash load_test.sh
|
||||
```
|
||||
|
||||
Замеряет производительность сервиса:
|
||||
- Latency: средний/мин/макс для send и receive (20 замеров)
|
||||
- Последовательный throughput: 50 сообщений подряд
|
||||
- Параллельная работа: 5 воркеров × 20 сообщений одновременно
|
||||
- Стресс-петля: непрерывная отправка и получение 30 секунд
|
||||
|
||||
---
|
||||
|
||||
## Особенности
|
||||
|
||||
Reference in New Issue
Block a user