first commit

This commit is contained in:
julien
2026-03-20 22:13:41 +01:00
commit 41f8b3afb4
323 changed files with 27222 additions and 0 deletions

View File

@@ -0,0 +1,55 @@
<?php
declare(strict_types=1);
namespace Tests\Kernel;
use Netig\Netslim\Kernel\Http\Infrastructure\Request\RequestContext;
use PHPUnit\Framework\TestCase;
#[\PHPUnit\Framework\Attributes\AllowMockObjectsWithoutExpectations]
final class RequestContextTest extends TestCase
{
public function testIsHttpsReturnsTrueWhenNativeHttpsFlagIsEnabled(): void
{
self::assertTrue(RequestContext::isHttps([
'HTTPS' => 'on',
]));
}
public function testIsHttpsReturnsTrueWhenTrustedProxyForwardsHttps(): void
{
self::assertTrue(RequestContext::isHttps([
'REMOTE_ADDR' => '127.0.0.1',
'HTTP_X_FORWARDED_PROTO' => 'https, http',
], ['127.0.0.1']));
}
public function testIsHttpsIgnoresForwardedProtoWhenProxyIsNotTrusted(): void
{
self::assertFalse(RequestContext::isHttps([
'REMOTE_ADDR' => '10.0.0.5',
'HTTP_X_FORWARDED_PROTO' => 'https',
], ['127.0.0.1']));
}
public function testTrustedProxiesFromEnvironmentTrimsValues(): void
{
self::assertSame(['127.0.0.1', '::1'], RequestContext::trustedProxiesFromEnvironment([
'TRUSTED_PROXIES' => ' 127.0.0.1 , ::1 ',
]));
}
public function testTrustedProxiesFromEnvironmentFallsBackToProcessEnvWhenDotenvValueIsBlank(): void
{
putenv('TRUSTED_PROXIES=*');
try {
self::assertSame(['*'], RequestContext::trustedProxiesFromEnvironment([
'TRUSTED_PROXIES' => '',
]));
} finally {
putenv('TRUSTED_PROXIES');
}
}
}