#!/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