add hardcore_test, load_test, update README with AWS CLI install + test descriptions

This commit is contained in:
Naeel
2026-04-09 09:00:51 +03:00
parent 8282a6cc0a
commit 5815d12ba2
3 changed files with 531 additions and 20 deletions
+56 -20
View File
@@ -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 секунд
---
## Особенности