- Prefijo v2: MCH - TRACEABILITY-MASTER.yml creado - Listo para integracion como submodulo Workspace: v2.0.0 | SIMCO: v4.0.0
158 lines
6.1 KiB
Bash
Executable File
158 lines
6.1 KiB
Bash
Executable File
#!/bin/bash
|
|
# =============================================================================
|
|
# MiChangarrito - Script de Validacion de Integraciones
|
|
# =============================================================================
|
|
# Version: 1.1.0
|
|
# Fecha: 2026-01-07
|
|
# =============================================================================
|
|
|
|
# Colores
|
|
RED='\033[0;31m'
|
|
GREEN='\033[0;32m'
|
|
YELLOW='\033[1;33m'
|
|
BLUE='\033[0;34m'
|
|
CYAN='\033[0;36m'
|
|
NC='\033[0m'
|
|
|
|
# Contadores
|
|
PASSED=0
|
|
FAILED=0
|
|
WARNINGS=0
|
|
|
|
pass() { echo -e " [${GREEN}OK${NC}] $1"; ((PASSED++)); }
|
|
fail() { echo -e " [${RED}FAIL${NC}] $1"; ((FAILED++)); }
|
|
warn() { echo -e " [${YELLOW}WARN${NC}] $1"; ((WARNINGS++)); }
|
|
|
|
# Banner
|
|
echo ""
|
|
echo -e "${BLUE}══════════════════════════════════════════════════════════════════${NC}"
|
|
echo -e "${BLUE} MICHANGARRITO - VALIDACION DE INTEGRACIONES ${NC}"
|
|
echo -e "${BLUE}══════════════════════════════════════════════════════════════════${NC}"
|
|
echo ""
|
|
|
|
# =============================================================================
|
|
# DATABASE
|
|
# =============================================================================
|
|
echo -e "${CYAN}=== DATABASE ===${NC}"
|
|
|
|
if pg_isready -h localhost -p 5432 > /dev/null 2>&1; then
|
|
pass "PostgreSQL disponible en localhost:5432"
|
|
|
|
TABLE_COUNT=$(PGPASSWORD="MCh_dev_2025_secure" psql -h localhost -p 5432 -U michangarrito_dev -d michangarrito_dev -tAc "SELECT count(*) FROM information_schema.tables WHERE table_schema NOT IN ('pg_catalog', 'information_schema');" 2>/dev/null)
|
|
|
|
if [ -n "$TABLE_COUNT" ] && [ "$TABLE_COUNT" -gt 0 ]; then
|
|
pass "Base de datos tiene $TABLE_COUNT tablas"
|
|
else
|
|
warn "No se pudo contar tablas"
|
|
fi
|
|
else
|
|
fail "PostgreSQL no disponible"
|
|
fi
|
|
echo ""
|
|
|
|
# =============================================================================
|
|
# REDIS
|
|
# =============================================================================
|
|
echo -e "${CYAN}=== REDIS ===${NC}"
|
|
|
|
if redis-cli -h localhost -p 6379 ping > /dev/null 2>&1; then
|
|
pass "Redis disponible en localhost:6379"
|
|
elif redis-cli -h localhost -p 6389 ping > /dev/null 2>&1; then
|
|
pass "Redis disponible en localhost:6389"
|
|
else
|
|
warn "Redis no disponible (opcional para desarrollo)"
|
|
fi
|
|
echo ""
|
|
|
|
# =============================================================================
|
|
# STRIPE
|
|
# =============================================================================
|
|
echo -e "${CYAN}=== STRIPE ===${NC}"
|
|
|
|
STRIPE_KEY=$(grep "^STRIPE_SECRET_KEY=" /home/isem/workspace-v1/projects/michangarrito/.env 2>/dev/null | cut -d= -f2)
|
|
|
|
if [ -n "$STRIPE_KEY" ] && [ "$STRIPE_KEY" != "sk_test_" ]; then
|
|
pass "STRIPE_SECRET_KEY configurada"
|
|
|
|
HTTP_CODE=$(curl -s -o /dev/null -w "%{http_code}" -u "$STRIPE_KEY:" https://api.stripe.com/v1/balance 2>/dev/null)
|
|
|
|
if [ "$HTTP_CODE" = "200" ]; then
|
|
pass "Conexion a Stripe API exitosa"
|
|
elif [ "$HTTP_CODE" = "401" ]; then
|
|
fail "API key de Stripe invalida"
|
|
else
|
|
warn "No se pudo verificar Stripe (HTTP $HTTP_CODE)"
|
|
fi
|
|
else
|
|
fail "STRIPE_SECRET_KEY no configurada o vacia"
|
|
fi
|
|
echo ""
|
|
|
|
# =============================================================================
|
|
# WHATSAPP
|
|
# =============================================================================
|
|
echo -e "${CYAN}=== WHATSAPP ===${NC}"
|
|
|
|
WA_TOKEN=$(grep "^WHATSAPP_ACCESS_TOKEN=" /home/isem/workspace-v1/projects/michangarrito/.env 2>/dev/null | cut -d= -f2)
|
|
WA_PHONE=$(grep "^WHATSAPP_PHONE_NUMBER_ID=" /home/isem/workspace-v1/projects/michangarrito/.env 2>/dev/null | cut -d= -f2)
|
|
WA_VERIFY=$(grep "^WHATSAPP_VERIFY_TOKEN=" /home/isem/workspace-v1/projects/michangarrito/.env 2>/dev/null | cut -d= -f2)
|
|
|
|
if [ -n "$WA_TOKEN" ]; then
|
|
pass "WHATSAPP_ACCESS_TOKEN configurada"
|
|
else
|
|
fail "WHATSAPP_ACCESS_TOKEN no configurada"
|
|
fi
|
|
|
|
if [ -n "$WA_PHONE" ]; then
|
|
pass "WHATSAPP_PHONE_NUMBER_ID configurada"
|
|
else
|
|
fail "WHATSAPP_PHONE_NUMBER_ID no configurada"
|
|
fi
|
|
|
|
if [ -n "$WA_VERIFY" ]; then
|
|
pass "WHATSAPP_VERIFY_TOKEN configurada"
|
|
else
|
|
fail "WHATSAPP_VERIFY_TOKEN no configurada"
|
|
fi
|
|
echo ""
|
|
|
|
# =============================================================================
|
|
# LLM
|
|
# =============================================================================
|
|
echo -e "${CYAN}=== LLM ===${NC}"
|
|
|
|
LLM_KEY=$(grep "^LLM_API_KEY=" /home/isem/workspace-v1/projects/michangarrito/.env 2>/dev/null | cut -d= -f2)
|
|
OPENAI_KEY=$(grep "^OPENAI_API_KEY=" /home/isem/workspace-v1/projects/michangarrito/.env 2>/dev/null | cut -d= -f2)
|
|
LLM_PROVIDER=$(grep "^LLM_PROVIDER=" /home/isem/workspace-v1/projects/michangarrito/.env 2>/dev/null | cut -d= -f2)
|
|
|
|
echo " Proveedor: ${LLM_PROVIDER:-openrouter}"
|
|
|
|
if [ -n "$LLM_KEY" ] || [ -n "$OPENAI_KEY" ]; then
|
|
pass "API Key de LLM configurada"
|
|
else
|
|
fail "API Key de LLM no configurada (LLM_API_KEY o OPENAI_API_KEY)"
|
|
fi
|
|
echo ""
|
|
|
|
# =============================================================================
|
|
# RESUMEN
|
|
# =============================================================================
|
|
echo -e "${BLUE}══════════════════════════════════════════════════════════════════${NC}"
|
|
echo -e "${CYAN}RESUMEN${NC}"
|
|
echo -e "${BLUE}══════════════════════════════════════════════════════════════════${NC}"
|
|
echo ""
|
|
echo -e " ${GREEN}Exitosos:${NC} $PASSED"
|
|
echo -e " ${RED}Fallidos:${NC} $FAILED"
|
|
echo -e " ${YELLOW}Advertencias:${NC} $WARNINGS"
|
|
echo ""
|
|
|
|
if [ $FAILED -eq 0 ]; then
|
|
echo -e "${GREEN}Todas las integraciones configuradas correctamente${NC}"
|
|
exit 0
|
|
else
|
|
echo -e "${YELLOW}Algunas integraciones requieren configuracion${NC}"
|
|
echo ""
|
|
echo "Revisa: orchestration/trazas/TAREAS-PENDIENTES-INTEGRACIONES.md"
|
|
exit 1
|
|
fi
|