feat: CI/CD pipeline setup complete - Ansible playbooks updated, secrets configured, workflow ready
This commit is contained in:
81
tests/debug/test-cache-warming.php
Normal file
81
tests/debug/test-cache-warming.php
Normal file
@@ -0,0 +1,81 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
require_once __DIR__ . '/../../vendor/autoload.php';
|
||||
|
||||
use App\Framework\Cache\Driver\FileCache;
|
||||
use App\Framework\Cache\GeneralCache;
|
||||
use App\Framework\Serializer\Php\PhpSerializer;
|
||||
use App\Framework\Cache\Warming\Strategies\CriticalPathWarmingStrategy;
|
||||
use App\Framework\Router\CompiledRoutes;
|
||||
use App\Framework\Config\Environment;
|
||||
|
||||
echo "🔍 Testing Cache Warming System\n\n";
|
||||
|
||||
// Setup
|
||||
$fileCache = new FileCache();
|
||||
$serializer = new PhpSerializer();
|
||||
$cache = new GeneralCache($fileCache, $serializer);
|
||||
|
||||
$compiledRoutes = new CompiledRoutes(
|
||||
staticRoutes: [
|
||||
'GET' => [
|
||||
'default' => [
|
||||
'/home' => null,
|
||||
'/about' => null,
|
||||
]
|
||||
]
|
||||
],
|
||||
dynamicPatterns: [
|
||||
'GET' => [
|
||||
'default' => null
|
||||
]
|
||||
],
|
||||
namedRoutes: []
|
||||
);
|
||||
|
||||
$environment = new Environment([
|
||||
'APP_ENV' => 'testing',
|
||||
'APP_DEBUG' => 'true',
|
||||
]);
|
||||
|
||||
echo "✅ Created Cache, CompiledRoutes, Environment\n\n";
|
||||
|
||||
// Create strategy
|
||||
$strategy = new CriticalPathWarmingStrategy(
|
||||
cache: $cache,
|
||||
compiledRoutes: $compiledRoutes,
|
||||
environment: $environment
|
||||
);
|
||||
|
||||
echo "✅ Created CriticalPathWarmingStrategy\n";
|
||||
echo " Name: " . $strategy->getName() . "\n";
|
||||
echo " Priority: " . $strategy->getPriority() . "\n";
|
||||
echo " Should Run: " . ($strategy->shouldRun() ? 'yes' : 'no') . "\n";
|
||||
echo " Estimated Duration: " . $strategy->getEstimatedDuration() . "s\n\n";
|
||||
|
||||
// Execute warmup
|
||||
echo "🔥 Executing warmup...\n";
|
||||
$result = $strategy->warmup();
|
||||
|
||||
echo "\n📊 Results:\n";
|
||||
echo " Strategy: " . $result->strategyName . "\n";
|
||||
echo " Items Warmed: " . $result->itemsWarmed . "\n";
|
||||
echo " Items Failed: " . $result->itemsFailed . "\n";
|
||||
echo " Duration: " . $result->durationSeconds . "s\n";
|
||||
echo " Memory Used: " . $result->memoryUsedBytes . " bytes\n";
|
||||
|
||||
if (!empty($result->errors)) {
|
||||
echo "\n❌ Errors:\n";
|
||||
foreach ($result->errors as $error) {
|
||||
print_r($error);
|
||||
}
|
||||
}
|
||||
|
||||
if (!empty($result->metadata)) {
|
||||
echo "\n📋 Metadata:\n";
|
||||
print_r($result->metadata);
|
||||
}
|
||||
|
||||
echo "\n" . ($result->itemsWarmed > 0 ? "✅ SUCCESS" : "❌ FAILURE") . "\n";
|
||||
Reference in New Issue
Block a user