diff options
Diffstat (limited to 'tests/lib/AppFramework/Http/RequestTest.php')
-rw-r--r-- | tests/lib/AppFramework/Http/RequestTest.php | 63 |
1 files changed, 37 insertions, 26 deletions
diff --git a/tests/lib/AppFramework/Http/RequestTest.php b/tests/lib/AppFramework/Http/RequestTest.php index 781cca256ec..7ea2cb31482 100644 --- a/tests/lib/AppFramework/Http/RequestTest.php +++ b/tests/lib/AppFramework/Http/RequestTest.php @@ -1,4 +1,5 @@ <?php + /** * SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors * SPDX-FileCopyrightText: 2016 ownCloud, Inc. @@ -259,9 +260,7 @@ class RequestTest extends \Test\TestCase { ]; } - /** - * @dataProvider dataNotJsonData - */ + #[\PHPUnit\Framework\Attributes\DataProvider('dataNotJsonData')] public function testNotJsonPost(string $testData): void { global $data; $data = $testData; @@ -708,9 +707,7 @@ class RequestTest extends \Test\TestCase { ]; } - /** - * @dataProvider dataGetRemoteAddress - */ + #[\PHPUnit\Framework\Attributes\DataProvider('dataGetRemoteAddress')] public function testGetRemoteAddress(array $headers, array $trustedProxies, array $forwardedForHeaders, string $expected): void { $this->config ->method('getSystemValue') @@ -759,11 +756,11 @@ class RequestTest extends \Test\TestCase { } /** - * @dataProvider dataHttpProtocol * * @param mixed $input * @param string $expected */ + #[\PHPUnit\Framework\Attributes\DataProvider('dataHttpProtocol')] public function testGetHttpProtocol($input, $expected): void { $request = new Request( [ @@ -780,12 +777,32 @@ class RequestTest extends \Test\TestCase { $this->assertSame($expected, $request->getHttpProtocol()); } - public function testGetServerProtocolWithOverride(): void { + public function testGetServerProtocolWithOverrideValid(): void { + $this->config + ->expects($this->exactly(3)) + ->method('getSystemValueString') + ->willReturnMap([ + ['overwriteprotocol', '', 'HTTPS'], // should be automatically lowercased + ['overwritecondaddr', '', ''], + ]); + + $request = new Request( + [], + $this->requestId, + $this->config, + $this->csrfTokenManager, + $this->stream + ); + + $this->assertSame('https', $request->getServerProtocol()); + } + + public function testGetServerProtocolWithOverrideInValid(): void { $this->config ->expects($this->exactly(3)) ->method('getSystemValueString') ->willReturnMap([ - ['overwriteprotocol', '', 'customProtocol'], + ['overwriteprotocol', '', 'bogusProtocol'], // should trigger fallback to http ['overwritecondaddr', '', ''], ]); @@ -797,7 +814,7 @@ class RequestTest extends \Test\TestCase { $this->stream ); - $this->assertSame('customProtocol', $request->getServerProtocol()); + $this->assertSame('http', $request->getServerProtocol()); } public function testGetServerProtocolWithProtoValid(): void { @@ -949,11 +966,11 @@ class RequestTest extends \Test\TestCase { } /** - * @dataProvider dataUserAgent * @param string $testAgent * @param array $userAgent * @param bool $matches */ + #[\PHPUnit\Framework\Attributes\DataProvider('dataUserAgent')] public function testUserAgent($testAgent, $userAgent, $matches): void { $request = new Request( [ @@ -971,11 +988,11 @@ class RequestTest extends \Test\TestCase { } /** - * @dataProvider dataUserAgent * @param string $testAgent * @param array $userAgent * @param bool $matches */ + #[\PHPUnit\Framework\Attributes\DataProvider('dataUserAgent')] public function testUndefinedUserAgent($testAgent, $userAgent, $matches): void { $request = new Request( [], @@ -1153,11 +1170,11 @@ class RequestTest extends \Test\TestCase { } /** - * @dataProvider dataMatchClientVersion * @param string $testAgent * @param string $userAgent * @param string $version */ + #[\PHPUnit\Framework\Attributes\DataProvider('dataMatchClientVersion')] public function testMatchClientVersion(string $testAgent, string $userAgent, string $version): void { preg_match($userAgent, $testAgent, $matches); @@ -1372,9 +1389,7 @@ class RequestTest extends \Test\TestCase { ]; } - /** - * @dataProvider dataGetServerHostTrustedDomain - */ + #[\PHPUnit\Framework\Attributes\DataProvider('dataGetServerHostTrustedDomain')] public function testGetServerHostTrustedDomain(string $expected, $trustedDomain): void { $this->config ->method('getSystemValue') @@ -1484,11 +1499,11 @@ class RequestTest extends \Test\TestCase { } /** - * @dataProvider dataGenericPathInfo * @param string $requestUri * @param string $scriptName * @param string $expected */ + #[\PHPUnit\Framework\Attributes\DataProvider('dataGenericPathInfo')] public function testGetPathInfoWithoutSetEnvGeneric($requestUri, $scriptName, $expected): void { $request = new Request( [ @@ -1507,11 +1522,11 @@ class RequestTest extends \Test\TestCase { } /** - * @dataProvider dataGenericPathInfo * @param string $requestUri * @param string $scriptName * @param string $expected */ + #[\PHPUnit\Framework\Attributes\DataProvider('dataGenericPathInfo')] public function testGetRawPathInfoWithoutSetEnvGeneric($requestUri, $scriptName, $expected): void { $request = new Request( [ @@ -1530,11 +1545,11 @@ class RequestTest extends \Test\TestCase { } /** - * @dataProvider dataRawPathInfo * @param string $requestUri * @param string $scriptName * @param string $expected */ + #[\PHPUnit\Framework\Attributes\DataProvider('dataRawPathInfo')] public function testGetRawPathInfoWithoutSetEnv($requestUri, $scriptName, $expected): void { $request = new Request( [ @@ -1553,11 +1568,11 @@ class RequestTest extends \Test\TestCase { } /** - * @dataProvider dataPathInfo * @param string $requestUri * @param string $scriptName * @param string $expected */ + #[\PHPUnit\Framework\Attributes\DataProvider('dataPathInfo')] public function testGetPathInfoWithoutSetEnv($requestUri, $scriptName, $expected): void { $request = new Request( [ @@ -1628,9 +1643,7 @@ class RequestTest extends \Test\TestCase { ]; } - /** - * @dataProvider dataGetRequestUriWithOverwrite - */ + #[\PHPUnit\Framework\Attributes\DataProvider('dataGetRequestUriWithOverwrite')] public function testGetRequestUriWithOverwrite($expectedUri, $overwriteWebRoot, $overwriteCondAddr, $remoteAddr = ''): void { $this->config ->expects($this->exactly(2)) @@ -2183,9 +2196,7 @@ class RequestTest extends \Test\TestCase { ]; } - /** - * @dataProvider dataInvalidToken - */ + #[\PHPUnit\Framework\Attributes\DataProvider('dataInvalidToken')] public function testPassesCSRFCheckWithInvalidToken(string $invalidToken): void { /** @var Request $request */ $request = $this->getMockBuilder(Request::class) |