109 lines
4.4 KiB
PHP
Executable File
109 lines
4.4 KiB
PHP
Executable File
<?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";
|