Files
michaelschiemer/tests/Framework/Router/ParameterProcessorDebugTest.php
Michael Schiemer 36ef2a1e2c
Some checks failed
🚀 Build & Deploy Image / Determine Build Necessity (push) Failing after 10m14s
🚀 Build & Deploy Image / Build Runtime Base Image (push) Has been skipped
🚀 Build & Deploy Image / Build Docker Image (push) Has been skipped
🚀 Build & Deploy Image / Run Tests & Quality Checks (push) Has been skipped
🚀 Build & Deploy Image / Auto-deploy to Staging (push) Has been skipped
🚀 Build & Deploy Image / Auto-deploy to Production (push) Has been skipped
Security Vulnerability Scan / Check for Dependency Changes (push) Failing after 11m25s
Security Vulnerability Scan / Composer Security Audit (push) Has been cancelled
fix: Gitea Traefik routing and connection pool optimization
- Remove middleware reference from Gitea Traefik labels (caused routing issues)
- Optimize Gitea connection pool settings (MAX_IDLE_CONNS=30, authentication_timeout=180s)
- Add explicit service reference in Traefik labels
- Fix intermittent 504 timeouts by improving PostgreSQL connection handling

Fixes Gitea unreachability via git.michaelschiemer.de
2025-11-09 14:46:15 +01:00

87 lines
3.2 KiB
PHP

<?php
declare(strict_types=1);
use App\Framework\DI\DefaultContainer;
use App\Framework\Http\ControllerRequestFactory;
use App\Framework\Logging\DefaultLogger;
use App\Framework\ReflectionLegacy\ReflectionProvider;
use App\Framework\Router\ParameterProcessor;
describe('ParameterProcessor Debug', function () {
test('debug parameter processing for filename parameter', function () {
// Mock dependencies
$container = $this->createMock(DefaultContainer::class);
$requestFactory = $this->createMock(ControllerRequestFactory::class);
$logger = $this->createMock(DefaultLogger::class);
$reflectionProvider = $this->createMock(ReflectionProvider::class);
$processor = new ParameterProcessor($container, $requestFactory, $logger, $reflectionProvider);
// Simulate the parameter data that would come from UnifiedRouteVisitor
$params = [
[
'name' => 'filename',
'type' => 'string',
'isBuiltin' => true,
'hasDefault' => false,
'default' => null,
'isOptional' => false,
'attributes' => [],
],
];
// Simulate the query params that would come from DynamicRoute->paramValues
$queryParams = [
'filename' => 'test-image.jpg',
];
// Erwartung: filename sollte 'test-image.jpg' sein, nicht null
$result = $processor->prepareParameters($params, $queryParams);
expect($result)->toHaveCount(1);
expect($result[0])->toBe('test-image.jpg');
expect($result[0])->not->toBeNull();
});
test('debug parameter processing when parameter name missing from queryParams', function () {
$container = $this->createMock(DefaultContainer::class);
$requestFactory = $this->createMock(ControllerRequestFactory::class);
$logger = $this->createMock(DefaultLogger::class);
$reflectionProvider = $this->createMock(ReflectionProvider::class);
$processor = new ParameterProcessor($container, $requestFactory, $logger, $reflectionProvider);
$params = [
[
'name' => 'filename',
'type' => 'string',
'isBuiltin' => true,
'hasDefault' => false,
'default' => null,
'isOptional' => false,
'attributes' => [],
],
];
// Empty queryParams - das ist wahrscheinlich unser Problem
$queryParams = [];
// Das wird null zurückgeben - das ist der Bug!
$result = $processor->prepareParameters($params, $queryParams);
expect($result)->toHaveCount(1);
expect($result[0])->toBeNull(); // Das ist der aktuelle Bug
// Debug: Show what's happening
error_log('Parameter processing with empty queryParams - result: ' . json_encode($result));
});
test('debug how DynamicRoute paramValues should be populated', function () {
// Test wie paramValues in DynamicRoute gesetzt werden sollten
// Das sollte von HttpRouter oder RouteDispatcher gemacht werden
expect(true)->toBeTrue(); // Placeholder test
});
});