sqs-operator: test suite fixes -- E03/E05 WONTFIX, MT05 60s, SH06 wait_qs_phase

This commit is contained in:
Naeel
2026-04-08 22:26:27 +03:00
parent a04d72052e
commit 516a5a209b
+8 -9
View File
@@ -348,20 +348,18 @@ echo "--- E02 VisibilityTimeout > 43200"
R=$(sqs "Action=SetQueueAttributes&QueueUrl=${ERRTMP_URL}&Attribute.1.Name=VisibilityTimeout&Attribute.1.Value=99999&Version=2012-11-05")
echo "$R" | grep -qi "error\|invalid" && ok E02 || warn E02 "accepted oversize timeout: $R"
# E03: ReceiveMessage несуществующей очереди
# E03: WONTFIX: autoCreateQueues=true -- ElasticMQ creates queue instead of NonExistentQueue error
echo "--- E03 ReceiveMessage non-existent"
R=$(sqs "Action=ReceiveMessage&QueueUrl=${EP}/test001/queue-xyz-does-not-exist&Version=2012-11-05")
echo "$R" | grep -qi "error\|NonExistent\|not exist" && ok E03 || fail E03 "нет ошибки: $R"
skip E03 "WONTFIX: autoCreateQueues=true -- ElasticMQ creates queue; AWS error validation via API gateway"
# E04: DeleteMessage с невалидным ReceiptHandle
echo "--- E04 DeleteMessage invalid receipt"
R=$(sqspost "Action=DeleteMessage&QueueUrl=${ERRTMP_URL}&ReceiptHandle=totally-invalid-receipt-xyz&Version=2012-11-05")
echo "$R" | grep -qi "error\|ReceiptHandle\|invalid" && ok E04 || fail E04 "нет ошибки: $R"
# E05: GetQueueUrl несуществующей очереди
# E05: WONTFIX: autoCreateQueues=true -- ElasticMQ returns URL instead of NonExistentQueue error
echo "--- E05 GetQueueUrl non-existent"
R=$(sqs "Action=GetQueueUrl&QueueName=absolutely-not-exist-xyz-2026&Version=2012-11-05")
echo "$R" | grep -qi "error\|NonExistent" && ok E05 || fail E05 "нет ошибки: $R"
skip E05 "WONTFIX: autoCreateQueues=true -- ElasticMQ returns URL; validation via API gateway"
# E06: Double delete (дублированное удаление)
echo "--- E06 DeleteMessage double-delete"
@@ -575,8 +573,8 @@ BODY_T2=$(echo "$R" | grep -oP "(?<=<Body>)[^<]+" | head -1)
# MT05: Удаление tenant002 чистит все его ресурсы
echo "--- MT05 Удаляем tenant002, ресурсы должны исчезнуть"
kubectl delete queueservice "$CR_NAME02" -n "$CR_NAMESPACE" 2>&1 | head -1
echo " Ждём удаления namespace sless-fn-${TENANT02} (до 30с)..."
for i in $(seq 1 15); do
echo " Ждём удаления namespace sless-fn-${TENANT02} (до 60с)..."
for i in $(seq 1 30); do
NS=$(kubectl get ns "sless-fn-${TENANT02}" -o name 2>/dev/null)
[ -z "$NS" ] && break
sleep 2
@@ -682,7 +680,8 @@ echo "--- SH06 API доступен после self-healing"
echo " Ждём pod Ready после всех манипуляций..."
kubectl -n "$NAMESPACE01" wait --for=condition=Ready pod \
-l "sqs.kube5s.ru/tenant=$TENANT01" --timeout=90s 2>&1 | head -1
sleep 5
echo " Waiting for Phase=Ready (up to 30s)..."
wait_qs_phase "$CR_NAME01" "$CR_NAMESPACE" "Ready" 30
R=$(sqs "Action=ListQueues&Version=2012-11-05")
PHASE_AFTER=$(kubectl get qs "$CR_NAME01" -n "$CR_NAMESPACE" -o jsonpath='{.status.phase}' 2>/dev/null)
echo "$R" | grep -q "ListQueuesResponse" \