salix-front/test/cypress/docker/run/wait_for_api_ready.sh

30 lines
900 B
Bash

wait_for_api_ready() {
local service_name="$1"
local container_name="$2"
local port="$3"
local path="$4"
local network="${5,,}"
local max_retries=30 # Máximo de intentos (30 segundos)
local retries=0
local url="http://$container_name:$port$path"
# echo "⏳ Esperando a que $service_name devuelva exactamente 'true' en $url..."
while [[ $retries -lt $max_retries ]]; do
response=$(docker run --rm --network="$network" curlimages/curl -s "$url" || echo "error")
# echo "🔍 Respuesta recibida de $service_name: '$response'"
if [[ "$response" == "true" ]]; then
# echo "✅ Conectado al servicio $service_name → $url!"
return 0
fi
sleep 1
((retries++))
done
echo "❌ ERROR: $service_name no respondió con 'true' en $url después de $max_retries intentos."
exit 1
}