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
- 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
87 lines
3.2 KiB
PHP
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
|
|
});
|
|
});
|