65 lines
2.0 KiB
Bash
65 lines
2.0 KiB
Bash
#!/bin/bash
|
|
# quick_test.sh — Быстрая проверка SQS-сервиса
|
|
# Проверяет: создание очереди, отправку, получение, удаление
|
|
# Требования: curl
|
|
# Запуск: bash quick_test.sh
|
|
|
|
set -euo pipefail
|
|
|
|
SQS_ENDPOINT="https://sqs.kube5s.ru/sqs/test001"
|
|
ACCESS_KEY="SQSAK-test001-ae4dc8"
|
|
SECRET_KEY="J8mElXq8Nwww8iFRtGJCm8KfxM9XSTluTqS2A67xsEE"
|
|
AUTH="${ACCESS_KEY}:${SECRET_KEY}"
|
|
VERSION="2012-11-05"
|
|
|
|
PASS=0
|
|
FAIL=0
|
|
QUEUE="quicktest-$$"
|
|
|
|
call() {
|
|
curl -sf --max-time 15 -u "$AUTH" "${SQS_ENDPOINT}?${1}&Version=${VERSION}" 2>/dev/null
|
|
}
|
|
|
|
check() {
|
|
if echo "$2" | grep -q "$3"; then
|
|
PASS=$((PASS + 1)); echo " ✅ $1"
|
|
else
|
|
FAIL=$((FAIL + 1)); echo " ❌ $1"
|
|
fi
|
|
}
|
|
|
|
echo "=== SQS Quick Test ==="
|
|
echo ""
|
|
|
|
# 1. Создать очередь
|
|
R=$(call "Action=CreateQueue&QueueName=${QUEUE}")
|
|
check "Создание очереди" "$R" "CreateQueueResult"
|
|
|
|
# 2. Список очередей
|
|
R=$(call "Action=ListQueues")
|
|
check "Очередь в списке" "$R" "${QUEUE}"
|
|
|
|
# 3. Отправить сообщение
|
|
R=$(call "Action=SendMessage&QueueUrl=${SQS_ENDPOINT}/test001/${QUEUE}&MessageBody=HelloSQS")
|
|
check "Отправка сообщения" "$R" "MessageId"
|
|
|
|
# 4. Получить сообщение
|
|
R=$(call "Action=ReceiveMessage&QueueUrl=${SQS_ENDPOINT}/test001/${QUEUE}")
|
|
check "Получение сообщения" "$R" "HelloSQS"
|
|
|
|
# 5. Удалить очередь
|
|
R=$(call "Action=DeleteQueue&QueueUrl=${SQS_ENDPOINT}/test001/${QUEUE}")
|
|
check "Удаление очереди" "$R" "DeleteQueueResponse"
|
|
|
|
# 6. Очередь исчезла
|
|
R=$(call "Action=ListQueues")
|
|
if echo "$R" | grep -q "${QUEUE}"; then
|
|
FAIL=$((FAIL + 1)); echo " ❌ Очередь удалена из списка"
|
|
else
|
|
PASS=$((PASS + 1)); echo " ✅ Очередь удалена из списка"
|
|
fi
|
|
|
|
echo ""
|
|
echo "Результат: ${PASS} OK / ${FAIL} FAIL"
|
|
[ "$FAIL" -eq 0 ] && echo "Всё работает!" || exit 1
|