Files
wevads-platform/scripts/end-to-end-test.php
2026-02-26 04:53:11 +01:00

109 lines
4.4 KiB
PHP
Executable File
Raw Permalink Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?php
/**
* END-TO-END TEST - DELIVERADS AUTONOMOUS PLATFORM
*/
error_reporting(E_ALL);
$pdo = new PDO("pgsql:host=localhost;dbname=adx_system", "admin", "admin123", [PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION]);
echo "============================================\n";
echo "🚀 DELIVERADS END-TO-END TEST\n";
echo "============================================\n\n";
// 1. CHECK RESOURCES
echo "1⃣ CHECKING RESOURCES...\n";
$huawei = $pdo->query("SELECT * FROM admin.huawei_accounts LIMIT 1")->fetch(PDO::FETCH_ASSOC);
echo " ✓ Huawei Account: " . ($huawei ? 'Found (Region: ' . ($huawei['default_region'] ?? 'af-south-1') . ')' : 'Not found') . "\n";
$o365 = $pdo->query("SELECT COUNT(*) FROM admin.office365_accounts")->fetchColumn();
echo " ✓ O365 Accounts: $o365\n";
$mta = $pdo->query("SELECT COUNT(*) FROM admin.mta_servers")->fetchColumn();
echo " ✓ MTA Servers: $mta\n";
$domains = $pdo->query("SELECT COUNT(*) FROM admin.domains")->fetchColumn();
echo " ✓ Domains: $domains\n";
$leads = $pdo->query("SELECT COUNT(*) FROM admin.leads")->fetchColumn();
echo " ✓ Leads: $leads\n";
$winners = $pdo->query("SELECT COUNT(*) FROM admin.brain_winners")->fetchColumn();
echo " ✓ Brain Winners: $winners\n";
$kb = $pdo->query("SELECT COUNT(*) FROM admin.knowledge_base")->fetchColumn();
echo " ✓ Knowledge Base: $kb entries\n";
// 2. TEST BRAIN ENGINE
echo "\n2⃣ TESTING BRAIN ENGINE...\n";
$bestISP = $pdo->query("SELECT isp_target, inbox_rate FROM admin.brain_winners ORDER BY inbox_rate DESC LIMIT 1")->fetch(PDO::FETCH_ASSOC);
if ($bestISP) {
echo " ✓ Best ISP: {$bestISP['isp_target']} ({$bestISP['inbox_rate']}% inbox)\n";
}
// 3. TEST KNOWLEDGE BASE SEARCH
echo "\n3⃣ TESTING KNOWLEDGE BASE...\n";
$kbResult = $pdo->query("SELECT topic, category FROM admin.knowledge_base WHERE content ILIKE '%gmail%' LIMIT 3")->fetchAll(PDO::FETCH_ASSOC);
echo " ✓ Gmail knowledge found: " . count($kbResult) . " entries\n";
// 4. TEST HUAWEI REGIONS
echo "\n4⃣ TESTING HUAWEI ROTATION...\n";
$regions = $pdo->query("SELECT region_code, eip_quota, eip_used FROM admin.huawei_regions WHERE is_active = true ORDER BY (eip_quota - eip_used) DESC LIMIT 5")->fetchAll(PDO::FETCH_ASSOC);
echo " Available regions:\n";
foreach ($regions as $r) {
$available = $r['eip_quota'] - $r['eip_used'];
echo " - {$r['region_code']}: $available EIPs available\n";
}
// 5. TEST APIs
echo "\n5⃣ TESTING DELIVERADS APIs...\n";
$apis = [
'knowledge-base' => 'http://localhost:5821/api/knowledge-base.php?action=stats',
'brain-core' => 'http://localhost:5821/api/brain-core.php?action=health',
'ai-failsafe' => 'http://localhost:5821/api/ai-failsafe.php?action=health',
'huawei-rotation' => 'http://localhost:5821/api/huawei-rotation.php?action=stats',
'unified-dashboard' => 'http://localhost:5821/api/unified-dashboard.php?action=overview'
];
foreach ($apis as $name => $url) {
$response = @file_get_contents($url);
$data = json_decode($response, true);
$status = $data ? '✓' : '✗';
echo " $status $name\n";
}
// 6. CREATE TEST MISSION
echo "\n6⃣ CREATING TEST MISSION...\n";
$missionData = [
'name' => 'E2E Test Mission ' . date('Y-m-d H:i'),
'offer' => 'Test Finance Offer',
'volume' => 1000,
'isp_target' => $bestISP['isp_target'] ?? 'GMX',
'status' => 'test'
];
$pdo->prepare("INSERT INTO admin.autonomous_missions (name, offer, volume, isp_target, status, created_at) VALUES (?, ?, ?, ?, ?, NOW())")
->execute([$missionData['name'], $missionData['offer'], $missionData['volume'], $missionData['isp_target'], $missionData['status']]);
$missionId = $pdo->lastInsertId();
echo " ✓ Mission created: ID $missionId\n";
echo " - Name: {$missionData['name']}\n";
echo " - Volume: {$missionData['volume']}\n";
echo " - Target ISP: {$missionData['isp_target']}\n";
// 7. SUMMARY
echo "\n============================================\n";
echo "✅ END-TO-END TEST COMPLETE!\n";
echo "============================================\n";
echo "\n📊 SYSTEM STATUS:\n";
echo " - Huawei Cloud: " . ($huawei ? 'READY' : 'NOT CONFIGURED') . "\n";
echo " - Email Accounts: " . ($o365 > 0 ? 'READY' : 'NONE') . " ($o365 O365)\n";
echo " - Infrastructure: " . ($mta > 0 ? 'READY' : 'NONE') . " ($mta servers)\n";
echo " - Data: READY ($leads leads, $domains domains)\n";
echo " - Intelligence: READY ($kb KB entries, $winners winners)\n";
echo "\n🎯 READY FOR PRODUCTION!\n";