diff --git a/apps/files_versions/tests/BackgroundJob/ExpireVersionsTest.php b/apps/files_versions/tests/BackgroundJob/ExpireVersionsTest.php index 7a35e9f5f39b1..21e88e86f9054 100644 --- a/apps/files_versions/tests/BackgroundJob/ExpireVersionsTest.php +++ b/apps/files_versions/tests/BackgroundJob/ExpireVersionsTest.php @@ -1,4 +1,6 @@ rootFolder = $this->getMockBuilder('OCP\Files\IRootFolder') - ->disableOriginalConstructor()->getMock(); - $this->userManager = $this->getMockBuilder('OC\User\Manager') - ->disableOriginalConstructor()->getMock(); - $this->versionMapper = $this->getMockBuilder('OCA\Files_Versions\Db\VersionsMapper') - ->disableOriginalConstructor()->getMock(); + $this->rootFolder = $this->createMock(IRootFolder::class); + $this->userManager = $this->createMock(Manager::class); + $this->versionMapper = $this->createMock(VersionsMapper::class); $this->cleanup = new CleanUp($this->rootFolder, $this->userManager, $this->versionMapper); } @@ -53,7 +46,7 @@ protected function setUp(): void { * @dataProvider dataTestDeleteVersions * @param boolean $nodeExists */ - public function testDeleteVersions($nodeExists): void { + public function testDeleteVersions(bool $nodeExists): void { $this->rootFolder->expects($this->once()) ->method('nodeExists') ->with('/testUser/files_versions') @@ -92,7 +85,7 @@ public function testDeleteVersions($nodeExists): void { $this->invokePrivate($this->cleanup, 'deleteVersions', ['testUser']); } - public function dataTestDeleteVersions() { + public static function dataTestDeleteVersions(): array { return [ [true], [false] @@ -106,8 +99,8 @@ public function dataTestDeleteVersions() { public function testExecuteDeleteListOfUsers(): void { $userIds = ['user1', 'user2', 'user3']; - $instance = $this->getMockBuilder('OCA\Files_Versions\Command\CleanUp') - ->setMethods(['deleteVersions']) + $instance = $this->getMockBuilder(CleanUp::class) + ->onlyMethods(['deleteVersions']) ->setConstructorArgs([$this->rootFolder, $this->userManager, $this->versionMapper]) ->getMock(); $instance->expects($this->exactly(count($userIds))) @@ -119,14 +112,12 @@ public function testExecuteDeleteListOfUsers(): void { $this->userManager->expects($this->exactly(count($userIds))) ->method('userExists')->willReturn(true); - $inputInterface = $this->getMockBuilder('\Symfony\Component\Console\Input\InputInterface') - ->disableOriginalConstructor()->getMock(); + $inputInterface = $this->createMock(\Symfony\Component\Console\Input\InputInterface::class); $inputInterface->expects($this->once())->method('getArgument') ->with('user_id') ->willReturn($userIds); - $outputInterface = $this->getMockBuilder('\Symfony\Component\Console\Output\OutputInterface') - ->disableOriginalConstructor()->getMock(); + $outputInterface = $this->createMock(\Symfony\Component\Console\Output\OutputInterface::class); $this->invokePrivate($instance, 'execute', [$inputInterface, $outputInterface]); } @@ -138,8 +129,8 @@ public function testExecuteAllUsers(): void { $userIds = []; $backendUsers = ['user1', 'user2']; - $instance = $this->getMockBuilder('OCA\Files_Versions\Command\CleanUp') - ->setMethods(['deleteVersions']) + $instance = $this->getMockBuilder(CleanUp::class) + ->onlyMethods(['deleteVersions']) ->setConstructorArgs([$this->rootFolder, $this->userManager, $this->versionMapper]) ->getMock(); @@ -155,14 +146,12 @@ public function testExecuteAllUsers(): void { $this->assertTrue(in_array($user, $backendUsers)); }); - $inputInterface = $this->getMockBuilder('\Symfony\Component\Console\Input\InputInterface') - ->disableOriginalConstructor()->getMock(); + $inputInterface = $this->createMock(\Symfony\Component\Console\Input\InputInterface::class); $inputInterface->expects($this->once())->method('getArgument') ->with('user_id') ->willReturn($userIds); - $outputInterface = $this->getMockBuilder('\Symfony\Component\Console\Output\OutputInterface') - ->disableOriginalConstructor()->getMock(); + $outputInterface = $this->createMock(\Symfony\Component\Console\Output\OutputInterface::class); $this->userManager->expects($this->once()) ->method('getBackends') diff --git a/apps/files_versions/tests/Command/ExpireTest.php b/apps/files_versions/tests/Command/ExpireTest.php index 11f4eb2e2be37..b74457a7fd68a 100644 --- a/apps/files_versions/tests/Command/ExpireTest.php +++ b/apps/files_versions/tests/Command/ExpireTest.php @@ -1,4 +1,6 @@ getMockedConfig($retentionObligation); $mockedTimeFactory = $this->getMockedTimeFactory($timeNow); $mockedLogger = $this->createMock(LoggerInterface::class); @@ -100,11 +96,7 @@ public function testExpiration($retentionObligation, $timeNow, $timestamp, $quot } - /** - * @param int $time - * @return ITimeFactory|MockObject - */ - private function getMockedTimeFactory($time) { + private function getMockedTimeFactory(int $time): ITimeFactory&MockObject { $mockedTimeFactory = $this->createMock(ITimeFactory::class); $mockedTimeFactory->expects($this->any()) ->method('getTime') @@ -113,11 +105,7 @@ private function getMockedTimeFactory($time) { return $mockedTimeFactory; } - /** - * @param string $returnValue - * @return IConfig|MockObject - */ - private function getMockedConfig($returnValue) { + private function getMockedConfig(string $returnValue): IConfig&MockObject { $mockedConfig = $this->createMock(IConfig::class); $mockedConfig->expects($this->any()) ->method('getSystemValue') diff --git a/apps/files_versions/tests/StorageTest.php b/apps/files_versions/tests/StorageTest.php index dd5b94c7a22d2..592f03f5e6304 100644 --- a/apps/files_versions/tests/StorageTest.php +++ b/apps/files_versions/tests/StorageTest.php @@ -24,7 +24,7 @@ class StorageTest extends TestCase { private $versionsRoot; private $userFolder; - private $expireTimestamp = 10; + private int $expireTimestamp = 10; protected function setUp(): void { parent::setUp(); @@ -46,7 +46,7 @@ protected function setUp(): void { } - protected function createPastFile(string $path, int $mtime) { + protected function createPastFile(string $path, int $mtime): void { try { $file = $this->userFolder->get($path); } catch (NotFoundException $e) { diff --git a/apps/files_versions/tests/VersioningTest.php b/apps/files_versions/tests/VersioningTest.php index eaa0a02e2612a..659b2cff10c35 100644 --- a/apps/files_versions/tests/VersioningTest.php +++ b/apps/files_versions/tests/VersioningTest.php @@ -1,4 +1,6 @@ assertFalse(Storage::rollback('folder/test.txt', $firstVersion['version'], $this->user2), 'Revert did not happen'); + $this->assertFalse(Storage::rollback('folder/test.txt', (int)$firstVersion['version'], $this->user2), 'Revert did not happen'); $this->loginAsUser(self::TEST_VERSIONS_USER); @@ -743,8 +745,8 @@ private function connectMockHooks($hookName, &$params) { return; } - $eventHandler = $this->getMockBuilder(\stdclass::class) - ->setMethods(['callback']) + $eventHandler = $this->getMockBuilder(DummyHookListener::class) + ->onlyMethods(['callback']) ->getMock(); $eventHandler->expects($this->any()) @@ -763,7 +765,7 @@ function ($p) use (&$params): void { ); } - private function doTestRestore() { + private function doTestRestore(): void { $filePath = self::TEST_VERSIONS_USER . '/files/sub/test.txt'; $this->rootView->file_put_contents($filePath, 'test file'); @@ -941,11 +943,7 @@ public function testStoreVersionAsAnonymous(): void { ); } - /** - * @param View $view - * @param string $path - */ - private function createAndCheckVersions(View $view, $path) { + private function createAndCheckVersions(View $view, string $path): array { $view->file_put_contents($path, 'test file'); $view->file_put_contents($path, 'version 1'); $view->file_put_contents($path, 'version 2'); @@ -967,11 +965,7 @@ private function createAndCheckVersions(View $view, $path) { return $versions; } - /** - * @param string $user - * @param bool $create - */ - public static function loginHelper($user, $create = false) { + public static function loginHelper(string $user, bool $create = false) { if ($create) { $backend = new \Test\Util\User\Dummy(); $backend->createUser($user, $user); @@ -987,6 +981,11 @@ public static function loginHelper($user, $create = false) { } } +class DummyHookListener { + public function callback() { + } +} + // extend the original class to make it possible to test protected methods class VersionStorageToTest extends Storage { diff --git a/apps/files_versions/tests/Versions/VersionManagerTest.php b/apps/files_versions/tests/Versions/VersionManagerTest.php index 8001d9fbf0e3c..79caa65d5f1f7 100644 --- a/apps/files_versions/tests/Versions/VersionManagerTest.php +++ b/apps/files_versions/tests/Versions/VersionManagerTest.php @@ -6,7 +6,7 @@ * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors * SPDX-License-Identifier: AGPL-3.0-or-later */ -namespace OCA\files_versions\tests\Versions; +namespace OCA\Files_Versions\Tests\Versions; use OC\Files\Storage\Local; use OCA\Files_Versions\Events\VersionRestoredEvent; @@ -15,6 +15,7 @@ use OCA\Files_Versions\Versions\VersionManager; use OCP\EventDispatcher\IEventDispatcher; use OCP\Files\Storage\IStorage; +use PHPUnit\Framework\MockObject\MockObject; use Test\TestCase; class VersionManagerTest extends TestCase { @@ -25,10 +26,10 @@ private function getBackend(bool $shouldUse = true): IVersionBackend { return $backend; } - private function getStorage(string $class): IStorage { + private function getStorage(string $class): IStorage&MockObject { return $this->getMockBuilder($class) ->disableOriginalConstructor() - ->setMethodsExcept(['instanceOfStorage']) + ->onlyMethods(array_diff(get_class_methods($class), ['instanceOfStorage'])) ->getMock(); }