diff options
Diffstat (limited to 'apps/federation/tests/Controller')
-rw-r--r-- | apps/federation/tests/Controller/OCSAuthAPIControllerTest.php | 57 | ||||
-rw-r--r-- | apps/federation/tests/Controller/SettingsControllerTest.php | 65 |
2 files changed, 55 insertions, 67 deletions
diff --git a/apps/federation/tests/Controller/OCSAuthAPIControllerTest.php b/apps/federation/tests/Controller/OCSAuthAPIControllerTest.php index ef008b991f5..a054277c5cd 100644 --- a/apps/federation/tests/Controller/OCSAuthAPIControllerTest.php +++ b/apps/federation/tests/Controller/OCSAuthAPIControllerTest.php @@ -1,5 +1,6 @@ <?php +declare(strict_types=1); /** * SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors * SPDX-FileCopyrightText: 2016 ownCloud, Inc. @@ -8,6 +9,7 @@ namespace OCA\Federation\Tests\Controller; use OC\BackgroundJob\JobList; +use OCA\Federation\BackgroundJob\GetSharedSecret; use OCA\Federation\Controller\OCSAuthAPIController; use OCA\Federation\DbHandler; use OCA\Federation\TrustedServers; @@ -16,34 +18,19 @@ use OCP\AppFramework\Utility\ITimeFactory; use OCP\IRequest; use OCP\Security\Bruteforce\IThrottler; use OCP\Security\ISecureRandom; +use PHPUnit\Framework\MockObject\MockObject; use Psr\Log\LoggerInterface; use Test\TestCase; class OCSAuthAPIControllerTest extends TestCase { - /** @var \PHPUnit\Framework\MockObject\MockObject|IRequest */ - private $request; - - /** @var \PHPUnit\Framework\MockObject\MockObject|ISecureRandom */ - private $secureRandom; - - /** @var \PHPUnit\Framework\MockObject\MockObject|JobList */ - private $jobList; - - /** @var \PHPUnit\Framework\MockObject\MockObject|TrustedServers */ - private $trustedServers; - - /** @var \PHPUnit\Framework\MockObject\MockObject|DbHandler */ - private $dbHandler; - - /** @var \PHPUnit\Framework\MockObject\MockObject|LoggerInterface */ - private $logger; - - /** @var \PHPUnit\Framework\MockObject\MockObject|ITimeFactory */ - private $timeFactory; - - /** @var \PHPUnit\Framework\MockObject\MockObject|IThrottler */ - private $throttler; - + private IRequest&MockObject $request; + private ISecureRandom&MockObject $secureRandom; + private JobList&MockObject $jobList; + private TrustedServers&MockObject $trustedServers; + private DbHandler&MockObject $dbHandler; + private LoggerInterface&MockObject $logger; + private ITimeFactory&MockObject $timeFactory; + private IThrottler&MockObject $throttler; private OCSAuthAPIController $ocsAuthApi; /** @var int simulated timestamp */ @@ -77,9 +64,7 @@ class OCSAuthAPIControllerTest extends TestCase { ->willReturn($this->currentTime); } - /** - * @dataProvider dataTestRequestSharedSecret - */ + #[\PHPUnit\Framework\Attributes\DataProvider('dataTestRequestSharedSecret')] public function testRequestSharedSecret(string $token, string $localToken, bool $isTrustedServer, bool $ok): void { $url = 'url'; @@ -91,7 +76,7 @@ class OCSAuthAPIControllerTest extends TestCase { if ($ok) { $this->jobList->expects($this->once())->method('add') - ->with('OCA\Federation\BackgroundJob\GetSharedSecret', ['url' => $url, 'token' => $token, 'created' => $this->currentTime]); + ->with(GetSharedSecret::class, ['url' => $url, 'token' => $token, 'created' => $this->currentTime]); } else { $this->jobList->expects($this->never())->method('add'); $this->jobList->expects($this->never())->method('remove'); @@ -111,7 +96,7 @@ class OCSAuthAPIControllerTest extends TestCase { } } - public function dataTestRequestSharedSecret() { + public static function dataTestRequestSharedSecret(): array { return [ ['token2', 'token1', true, true], ['token1', 'token2', false, false], @@ -119,15 +104,13 @@ class OCSAuthAPIControllerTest extends TestCase { ]; } - /** - * @dataProvider dataTestGetSharedSecret - */ + #[\PHPUnit\Framework\Attributes\DataProvider('dataTestGetSharedSecret')] public function testGetSharedSecret(bool $isTrustedServer, bool $isValidToken, bool $ok): void { $url = 'url'; $token = 'token'; - /** @var OCSAuthAPIController | \PHPUnit\Framework\MockObject\MockObject $ocsAuthApi */ - $ocsAuthApi = $this->getMockBuilder('OCA\Federation\Controller\OCSAuthAPIController') + /** @var OCSAuthAPIController&MockObject $ocsAuthApi */ + $ocsAuthApi = $this->getMockBuilder(OCSAuthAPIController::class) ->setConstructorArgs( [ 'federation', @@ -140,7 +123,9 @@ class OCSAuthAPIControllerTest extends TestCase { $this->timeFactory, $this->throttler ] - )->setMethods(['isValidToken'])->getMock(); + ) + ->onlyMethods(['isValidToken']) + ->getMock(); $this->trustedServers ->expects($this->any()) @@ -171,7 +156,7 @@ class OCSAuthAPIControllerTest extends TestCase { } } - public function dataTestGetSharedSecret() { + public static function dataTestGetSharedSecret(): array { return [ [true, true, true], [false, true, false], diff --git a/apps/federation/tests/Controller/SettingsControllerTest.php b/apps/federation/tests/Controller/SettingsControllerTest.php index 0eb15e40d8f..b0a7a5e30c9 100644 --- a/apps/federation/tests/Controller/SettingsControllerTest.php +++ b/apps/federation/tests/Controller/SettingsControllerTest.php @@ -1,5 +1,6 @@ <?php +declare(strict_types=1); /** * SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors * SPDX-FileCopyrightText: 2016 ownCloud, Inc. @@ -10,35 +11,36 @@ namespace OCA\Federation\Tests\Controller; use OCA\Federation\Controller\SettingsController; use OCA\Federation\TrustedServers; use OCP\AppFramework\Http\DataResponse; +use OCP\AppFramework\OCS\OCSException; +use OCP\AppFramework\OCS\OCSNotFoundException; use OCP\IL10N; use OCP\IRequest; +use PHPUnit\Framework\MockObject\MockObject; +use Psr\Log\LoggerInterface; use Test\TestCase; class SettingsControllerTest extends TestCase { private SettingsController $controller; - /** @var \PHPUnit\Framework\MockObject\MockObject | \OCP\IRequest */ - private $request; - - /** @var \PHPUnit\Framework\MockObject\MockObject | \OCP\IL10N */ - private $l10n; - - /** @var \PHPUnit\Framework\MockObject\MockObject | \OCA\Federation\TrustedServers */ - private $trustedServers; + private IRequest&MockObject $request; + private IL10N&MockObject $l10n; + private TrustedServers&MockObject $trustedServers; + private LoggerInterface&MockObject $logger; protected function setUp(): void { parent::setUp(); - $this->request = $this->getMockBuilder(IRequest::class)->getMock(); - $this->l10n = $this->getMockBuilder(IL10N::class)->getMock(); - $this->trustedServers = $this->getMockBuilder(TrustedServers::class) - ->disableOriginalConstructor()->getMock(); + $this->request = $this->createMock(IRequest::class); + $this->l10n = $this->createMock(IL10N::class); + $this->trustedServers = $this->createMock(TrustedServers::class); + $this->logger = $this->createMock(LoggerInterface::class); $this->controller = new SettingsController( 'SettingsControllerTest', $this->request, $this->l10n, - $this->trustedServers + $this->trustedServers, + $this->logger, ); } @@ -55,7 +57,7 @@ class SettingsControllerTest extends TestCase { ->willReturn(true); $result = $this->controller->addServer('url'); - $this->assertTrue($result instanceof DataResponse); + $this->assertInstanceOf(DataResponse::class, $result); $data = $result->getData(); $this->assertSame(200, $result->getStatus()); @@ -63,12 +65,8 @@ class SettingsControllerTest extends TestCase { $this->assertArrayHasKey('id', $data); } - /** - * @dataProvider checkServerFails - */ + #[\PHPUnit\Framework\Attributes\DataProvider('checkServerFails')] public function testAddServerFail(bool $isTrustedServer, bool $isNextcloud): void { - $this->expectException(\OCP\HintException::class); - $this->trustedServers ->expects($this->any()) ->method('isTrustedServer') @@ -80,6 +78,12 @@ class SettingsControllerTest extends TestCase { ->with('url') ->willReturn($isNextcloud); + if ($isTrustedServer) { + $this->expectException(OCSException::class); + } else { + $this->expectException(OCSNotFoundException::class); + } + $this->controller->addServer('url'); } @@ -104,17 +108,13 @@ class SettingsControllerTest extends TestCase { ->with('url') ->willReturn(true); - $this->assertTrue( - $this->invokePrivate($this->controller, 'checkServer', ['url']) + $this->assertNull( + self::invokePrivate($this->controller, 'checkServer', ['url']) ); } - /** - * @dataProvider checkServerFails - */ + #[\PHPUnit\Framework\Attributes\DataProvider('checkServerFails')] public function testCheckServerFail(bool $isTrustedServer, bool $isNextcloud): void { - $this->expectException(\OCP\HintException::class); - $this->trustedServers ->expects($this->any()) ->method('isTrustedServer') @@ -126,15 +126,18 @@ class SettingsControllerTest extends TestCase { ->with('url') ->willReturn($isNextcloud); + if ($isTrustedServer) { + $this->expectException(OCSException::class); + } else { + $this->expectException(OCSNotFoundException::class); + } + $this->assertTrue( - $this->invokePrivate($this->controller, 'checkServer', ['url']) + self::invokePrivate($this->controller, 'checkServer', ['url']) ); } - /** - * Data to simulate checkServer fails - */ - public function checkServerFails(): array { + public static function checkServerFails(): array { return [ [true, true], [false, false] |