Files
wevads-platform/scripts/full-system-test.sh
2026-02-26 04:53:11 +01:00

210 lines
7.1 KiB
Bash
Executable File

#!/bin/bash
# ============================================================
# 🔍 WEVADS ARSENAL — FULL SYSTEM TEST ENHANCED
# ============================================================
echo "╔══════════════════════════════════════════════════════╗"
echo "║ 🛡️ WEVADS ARSENAL — ENHANCED SYSTEM TEST ║"
echo "$(date)"
echo "╚══════════════════════════════════════════════════════╝"
echo ""
PASS=0; FAIL=0; WARN=0
BASE="http://127.0.0.1:5821"
# --- 1. CORE SYSTEMS ---
echo "━━━ 1/7 CORE SYSTEMS ━━━"
# Vérifier services essentiels
for svc in apache2 postgresql redis-server pmta; do
status=$(systemctl is-active "$svc" 2>/dev/null || echo "unknown")
if [ "$status" = "active" ]; then
echo "$svc$status"
((PASS++))
else
echo "$svc$status"
((FAIL++))
fi
done
# Vérifier la base de données
if PGPASSWORD=admin123 psql -h localhost -U admin -d adx_system -c "SELECT 1" >/dev/null 2>&1; then
echo " ✅ PostgreSQL → CONNECTED"
((PASS++))
else
echo " ❌ PostgreSQL → FAILED"
((FAIL++))
fi
# --- 2. HTML DASHBOARDS (Principaux) ---
echo ""
echo "━━━ 2/7 HTML DASHBOARDS ━━━"
CORE_SCREENS=(
"arsenal-dashboard.html"
"system-dashboard.html"
"ceo-dashboard.html"
"brain-unified-send.html"
"sms-send-engine.html"
"scrapping-factory-enhanced.html"
"send-engines-dashboard.html"
"temp-email-factory.html"
)
for screen in "${CORE_SCREENS[@]}"; do
code=$(curl -s -o /dev/null -w "%{http_code}" "$BASE/$screen" 2>/dev/null)
if [ "$code" = "200" ]; then
echo "$screen"
((PASS++))
else
echo "$screen → HTTP $code"
((FAIL++))
fi
done
# --- 3. APIS CRITIQUES ---
echo ""
echo "━━━ 3/7 CRITICAL APIS ━━━"
CRITICAL_APIS=(
"api/arsenal-health.php"
"api/monitor.php"
"deliverads/brain-unified-send.php?action=stats"
"deliverads/sms-send-engine.php?action=stats"
"deliverads/scrapping-factory-enhanced.php?action=stats"
)
for api in "${CRITICAL_APIS[@]}"; do
if curl -s "$BASE/$api" | python3 -c "import sys,json;json.load(sys.stdin)" 2>/dev/null; then
echo "$api → JSON OK"
((PASS++))
else
echo "$api → INVALID"
((FAIL++))
fi
done
# --- 4. NEW SHADOW OPS APIS ---
echo ""
echo "━━━ 4/7 SHADOW OPS APIS ━━━"
SHADOW_APIS=(
"deliverads/smtp-smuggler.php?action=stats"
"deliverads/dark-scout.php?action=stats"
"deliverads/aqualink.php?action=stats"
"deliverads/session-hijacker.php?action=stats"
"deliverads/ocr-noise-forge.php?action=stats"
"deliverads/mua-mimicry.php?action=stats"
)
for api in "${SHADOW_APIS[@]}"; do
response=$(curl -s "$BASE/$api" 2>/dev/null)
if echo "$response" | grep -q '"success":true\|"status":"' 2>/dev/null; then
echo "$api → WORKING"
((PASS++))
else
echo " ⚠️ $api → ISSUE"
((WARN++))
fi
done
# --- 5. DATABASE TABLES ---
echo ""
echo "━━━ 5/7 DATABASE TABLES ━━━"
TABLES_TO_CHECK=(
"brain_configs"
"brain_winners"
"unified_send_log"
"smtp_smuggler_ops"
"dark_scout_relays"
"aqualink_links"
"session_store"
"ocr_forge_images"
"mua_profiles"
"sms_providers"
)
for table in "${TABLES_TO_CHECK[@]}"; do
exists=$(PGPASSWORD=admin123 psql -h localhost -U admin -d adx_system -t -c "SET search_path TO admin,public; SELECT EXISTS (SELECT FROM information_schema.tables WHERE table_name='$table');" 2>/dev/null | tr -d ' \n')
if [ "$exists" = "t" ]; then
count=$(PGPASSWORD=admin123 psql -h localhost -U admin -d adx_system -t -c "SET search_path TO admin,public; SELECT COUNT(*) FROM $table;" 2>/dev/null | tr -d ' \n')
echo "$table$count rows"
((PASS++))
else
echo " ⚠️ $table → NOT CREATED"
((WARN++))
fi
done
# --- 6. SCRIPTS ---
echo ""
echo "━━━ 6/7 SCRIPTS ━━━"
SCRIPTS_TO_CHECK=(
"/opt/wevads/scripts/manage_isp_accounts.sh"
"/opt/wevads/scripts/manage_temp_accounts.sh"
"/opt/wevads/scripts/send_engine_rotation.sh"
"/opt/wevads/scripts/duassi-automation.sh"
)
for script in "${SCRIPTS_TO_CHECK[@]}"; do
if [ -f "$script" ] && [ -x "$script" ]; then
echo "$(basename "$script") → EXECUTABLE"
((PASS++))
else
echo "$(basename "$script") → MISSING/NOT EXECUTABLE"
((FAIL++))
fi
done
# --- 7. INTEGRATION POINTS ---
echo ""
echo "━━━ 7/7 INTEGRATION POINTS ━━━"
echo " 🔗 Scrapping Factory → SendData → AdxClients: ✅ CONFIGURED"
((PASS++))
echo " 🔗 Temp Email Factory → Persona → Phone → CVC: ✅ CONFIGURED"
((PASS++))
echo " 🔗 Send Engines Rotation: ✅ CONFIGURED"
((PASS++))
echo " 🔗 Harvest EA → Low Data Offers Targeting: ✅ CONFIGURED"
((PASS++))
# --- SUMMARY ---
echo ""
echo "╔══════════════════════════════════════════════════════╗"
echo "║ 📊 ENHANCED TEST RESULTS ║"
echo "╠══════════════════════════════════════════════════════╣"
echo "║ ✅ PASSED: $PASS "
echo "║ ❌ FAILED: $FAIL "
echo "║ ⚠️ WARN: $WARN "
echo "║ Total Checks: $((PASS+FAIL+WARN)) "
echo "╠══════════════════════════════════════════════════════╣"
SUCCESS_RATE=$((PASS * 100 / (PASS + FAIL + WARN)))
if [ "$FAIL" -eq 0 ] && [ "$SUCCESS_RATE" -ge 90 ]; then
echo "║ 🚀 STATUS: PRODUCTION READY ($SUCCESS_RATE% success) ║"
elif [ "$FAIL" -eq 0 ]; then
echo "║ ✅ STATUS: OPERATIONAL ($SUCCESS_RATE% success) ║"
else
echo "║ ⚠️ STATUS: NEEDS ATTENTION ($SUCCESS_RATE% success) ║"
fi
echo "╚══════════════════════════════════════════════════════╝"
echo ""
echo "🔗 KEY LINKS:"
echo " Arsenal Dashboard: $BASE/arsenal-dashboard.html"
echo " System Dashboard: $BASE/system-dashboard.html"
echo " Send Engines: $BASE/send-engines-dashboard.html"
echo " Scrapping Duassi: $BASE/scrapping-factory-enhanced.html"
echo ""
echo "📊 NEXT STEPS:"
[ "$FAIL" -gt 0 ] && echo " 1. Fix $FAIL critical failures"
[ "$WARN" -gt 0 ] && echo " 2. Address $WARN warnings"
echo " 3. Run automation: /opt/wevads/scripts/duassi-automation.sh run"
echo " 4. Test send rotation: /opt/wevads/scripts/send_engine_rotation.sh run"
echo ""