diff --git a/lib/DAV/PropFindPlugin.php b/lib/DAV/PropFindPlugin.php index b605de4b3..5556a57de 100644 --- a/lib/DAV/PropFindPlugin.php +++ b/lib/DAV/PropFindPlugin.php @@ -52,7 +52,7 @@ public function propFind(PropFind $propFind, INode $node): void { ); $propFind->handle( self::GROUP_FOLDER_ID_PROPERTYNAME, - fn () => $node->getFolderId() + fn (): int => $node->getFolderId() ); } } diff --git a/lib/Versions/VersionsBackend.php b/lib/Versions/VersionsBackend.php index a585813b4..441ab47d8 100644 --- a/lib/Versions/VersionsBackend.php +++ b/lib/Versions/VersionsBackend.php @@ -58,9 +58,8 @@ private function getFolderIdForFile(FileInfo $file): int { } elseif ($storage->instanceOfStorage(GroupFolderStorage::class)) { /** @var GroupFolderStorage $storage */ return $storage->getFolderId(); - } else { - throw new \LogicException('groupfolder version backend called for non groupfolder file'); } + throw new \LogicException('groupfolder version backend called for non groupfolder file'); } public function getVersionFolderForFile(FileInfo $file): Folder { diff --git a/rector.php b/rector.php index 93218586b..042f75631 100644 --- a/rector.php +++ b/rector.php @@ -17,5 +17,5 @@ ]) ->withPreparedSets( deadCode: true, - ) - ->withTypeCoverageLevel(0); + typeDeclarations: true, + ); diff --git a/tests/ACL/ACLCacheWrapperTest.php b/tests/ACL/ACLCacheWrapperTest.php index 415203e6e..45d5768d1 100644 --- a/tests/ACL/ACLCacheWrapperTest.php +++ b/tests/ACL/ACLCacheWrapperTest.php @@ -23,9 +23,8 @@ class ACLCacheWrapperTest extends TestCase { private $aclManager; /** @var ICache|\PHPUnit_Framework_MockObject_MockObject */ private $source; - /** @var ACLCacheWrapper */ - private $cache; - private $aclPermissions = []; + private ?ACLCacheWrapper $cache = null; + private array $aclPermissions = []; protected function setUp(): void { parent::setUp(); @@ -39,7 +38,7 @@ protected function setUp(): void { $this->cache = new ACLCacheWrapper($this->source, $this->aclManager, false); } - public function testHideNonRead() { + public function testHideNonRead(): void { $this->source->method('getFolderContentsById') ->willReturn([ new CacheEntry([ diff --git a/tests/ACL/ACLManagerTest.php b/tests/ACL/ACLManagerTest.php index 349c9987a..d793f3c3d 100644 --- a/tests/ACL/ACLManagerTest.php +++ b/tests/ACL/ACLManagerTest.php @@ -41,10 +41,10 @@ protected function setUp(): void { $this->dummyMapping = $this->createMapping('dummy'); $this->ruleManager->method('getRulesForFilesByPath') - ->willReturnCallback(function (IUser $user, int $storageId, array $paths) { + ->willReturnCallback(function (IUser $user, int $storageId, array $paths): array { // fill with empty in case no rule was found $rules = array_fill_keys($paths, []); - $actualRules = array_filter($this->rules, function (string $path) use ($paths) { + $actualRules = array_filter($this->rules, function (string $path) use ($paths): bool { return array_search($path, $paths) !== false; }, ARRAY_FILTER_USE_KEY); diff --git a/tests/ACL/ACLScannerTest.php b/tests/ACL/ACLScannerTest.php index dba331836..4634c28b0 100644 --- a/tests/ACL/ACLScannerTest.php +++ b/tests/ACL/ACLScannerTest.php @@ -29,7 +29,7 @@ private function getAclManager(array $rules): ACLManager { return $manager; } - public function testScanAclStorage() { + public function testScanAclStorage(): void { $baseStorage = new Temporary([]); $baseStorage->mkdir('foo'); $baseStorage->mkdir('foo/bar'); diff --git a/tests/ACL/ACLStorageWrapperTest.php b/tests/ACL/ACLStorageWrapperTest.php index 35b63fe89..473b9ad7b 100644 --- a/tests/ACL/ACLStorageWrapperTest.php +++ b/tests/ACL/ACLStorageWrapperTest.php @@ -12,17 +12,14 @@ use OCA\GroupFolders\ACL\ACLManager; use OCA\GroupFolders\ACL\ACLStorageWrapper; use OCP\Constants; -use OCP\Files\Storage\IStorage; use Test\TestCase; class ACLStorageWrapperTest extends TestCase { /** @var ACLManager|\PHPUnit_Framework_MockObject_MockObject */ private $aclManager; - /** @var IStorage */ - private $source; - /** @var ACLStorageWrapper */ - private $storage; - private $aclPermissions = []; + private ?Temporary $source = null; + private ?ACLStorageWrapper $storage = null; + private array $aclPermissions = []; protected function setUp(): void { parent::setUp(); @@ -40,7 +37,7 @@ protected function setUp(): void { ]); } - public function testNoReadImpliesNothing() { + public function testNoReadImpliesNothing(): void { $this->source->mkdir('foo'); $this->aclPermissions['foo'] = Constants::PERMISSION_ALL - Constants::PERMISSION_READ; @@ -50,7 +47,7 @@ public function testNoReadImpliesNothing() { $this->assertEquals(false, $this->storage->isSharable('foo')); } - public function testOpenDir() { + public function testOpenDir(): void { $this->source->mkdir('foo'); $this->source->touch('foo/file1'); $this->source->touch('foo/file2'); @@ -73,7 +70,7 @@ public function testOpenDir() { $this->assertEquals($expected, $result); } - public function testMove() { + public function testMove(): void { $this->source->mkdir('foo'); $this->source->touch('file1'); diff --git a/tests/ACL/RuleManagerTest.php b/tests/ACL/RuleManagerTest.php index 36a9b43ae..480acbe5b 100644 --- a/tests/ACL/RuleManagerTest.php +++ b/tests/ACL/RuleManagerTest.php @@ -24,8 +24,7 @@ class RuleManagerTest extends TestCase { /** @var \PHPUnit_Framework_MockObject_MockObject | IUserMappingManager */ private $userMappingManager; - /** @var RuleManager */ - private $ruleManager; + private ?RuleManager $ruleManager = null; /** @var \PHPUnit_Framework_MockObject_MockObject | IUser */ private $user; @@ -42,7 +41,7 @@ protected function setUp(): void { $this->userMappingManager = $this->createMock(IUserMappingManager::class); $this->userMappingManager->expects($this->any()) ->method('mappingFromId') - ->willReturnCallback(function ($type, $id) { + ->willReturnCallback(function ($type, $id): UserMapping { if ($type === 'user') { return new UserMapping($type, $id, 'The User'); } else { @@ -54,7 +53,7 @@ protected function setUp(): void { $this->ruleManager = new RuleManager(\OC::$server->getDatabaseConnection(), $this->userMappingManager, $this->eventDispatcher); } - public function testGetSetRule() { + public function testGetSetRule(): void { $mapping = new UserMapping('user', '1', 'The User'); $this->userMappingManager->expects($this->any()) ->method('getMappingsForUser') @@ -104,7 +103,7 @@ public function testGetSetRule() { $this->ruleManager->deleteRule($rule); } - public function testGetMultiple() { + public function testGetMultiple(): void { $mapping1 = new UserMapping('test', '1'); $mapping2 = new UserMapping('test', '2'); $this->userMappingManager->expects($this->any()) @@ -131,7 +130,7 @@ public function testGetMultiple() { $this->ruleManager->deleteRule($rule3); } - public function testGetByPath() { + public function testGetByPath(): void { $storage = new Temporary([]); $storage->mkdir('foo'); $storage->mkdir('foo/bar'); @@ -166,7 +165,7 @@ public function testGetByPath() { $this->ruleManager->deleteRule($rule2); } - public function testGetByPathMore() { + public function testGetByPathMore(): void { $storage = new Temporary([]); $storage->mkdir('foo'); $paths = []; @@ -207,7 +206,7 @@ public function testGetByPathMore() { $this->ruleManager->deleteRule($rule); } - public function testGetByParent() { + public function testGetByParent(): void { $storage = new Temporary([]); $storage->mkdir('foo'); $storage->mkdir('foo/bar'); diff --git a/tests/ACL/RuleTest.php b/tests/ACL/RuleTest.php index 9f549e7c5..5876e3660 100644 --- a/tests/ACL/RuleTest.php +++ b/tests/ACL/RuleTest.php @@ -26,7 +26,7 @@ public function permissionsProvider() { /** * @dataProvider permissionsProvider */ - public function testApplyPermissions($input, $mask, $permissions, $expected) { + public function testApplyPermissions($input, $mask, $permissions, $expected): void { $rule = new Rule($this->createMock(IUserMapping::class), 0, $mask, $permissions); $this->assertEquals($expected, $rule->applyPermissions($input)); } @@ -56,8 +56,8 @@ public function mergeRulesProvider() { /** * @dataProvider mergeRulesProvider */ - public function testMergeRules($inputs, $expectedMask, $expectedPermissions) { - $inputRules = array_map(function (array $input) { + public function testMergeRules($inputs, $expectedMask, $expectedPermissions): void { + $inputRules = array_map(function (array $input): Rule { return new Rule($this->createMock(IUserMapping::class), 0, $input[0], $input[1]); }, $inputs); diff --git a/tests/Folder/FolderManagerTest.php b/tests/Folder/FolderManagerTest.php index 89ca8fc1b..bc4080f38 100644 --- a/tests/Folder/FolderManagerTest.php +++ b/tests/Folder/FolderManagerTest.php @@ -51,7 +51,7 @@ protected function setUp(): void { $this->clean(); } - private function clean() { + private function clean(): void { $query = \OC::$server->getDatabaseConnection()->getQueryBuilder(); $query->delete('group_folders')->execute(); @@ -59,12 +59,12 @@ private function clean() { $query->delete('group_folders_groups')->execute(); } - private function assertHasFolders($folders) { + private function assertHasFolders(array $folders): void { $existingFolders = array_values($this->manager->getAllFolders()); - usort($existingFolders, function ($a, $b) { + usort($existingFolders, function (array $a, array $b): int { return strcmp($a['mount_point'], $b['mount_point']); }); - usort($folders, function ($a, $b) { + usort($folders, function (array $a, array $b): int { return strcmp($a['mount_point'], $b['mount_point']); }); @@ -89,7 +89,7 @@ private function assertHasFolders($folders) { $this->assertEquals($folders, $existingFolders); } - public function testCreateFolder() { + public function testCreateFolder(): void { $this->manager->createFolder('foo'); $this->assertHasFolders([ @@ -97,7 +97,7 @@ public function testCreateFolder() { ]); } - public function testSetMountpoint() { + public function testSetMountpoint(): void { $folderId1 = $this->manager->createFolder('foo'); $this->manager->createFolder('bar'); @@ -109,7 +109,7 @@ public function testSetMountpoint() { ]); } - public function testAddApplicable() { + public function testAddApplicable(): void { $folderId1 = $this->manager->createFolder('foo'); $folderId2 = $this->manager->createFolder('bar'); $this->manager->addApplicableGroup($folderId1, 'g1'); @@ -154,7 +154,7 @@ public function testAddApplicable() { ); } - public function testSetPermissions() { + public function testSetPermissions(): void { $folderId1 = $this->manager->createFolder('foo'); $this->manager->addApplicableGroup($folderId1, 'g1'); $this->manager->addApplicableGroup($folderId1, 'g2'); @@ -182,7 +182,7 @@ public function testSetPermissions() { ); } - public function testRemoveApplicable() { + public function testRemoveApplicable(): void { $folderId1 = $this->manager->createFolder('foo'); $folderId2 = $this->manager->createFolder('bar'); $this->manager->addApplicableGroup($folderId1, 'g1'); @@ -225,7 +225,7 @@ public function testRemoveApplicable() { ); } - public function testRemoveFolder() { + public function testRemoveFolder(): void { $folderId1 = $this->manager->createFolder('foo'); $this->manager->createFolder('bar'); @@ -236,7 +236,7 @@ public function testRemoveFolder() { ]); } - public function testRenameFolder() { + public function testRenameFolder(): void { $folderId1 = $this->manager->createFolder('foo'); $this->manager->createFolder('other'); @@ -248,7 +248,7 @@ public function testRenameFolder() { ]); } - public function testSetACL() { + public function testSetACL(): void { $folderId1 = $this->manager->createFolder('foo'); $this->manager->createFolder('other'); @@ -267,7 +267,7 @@ public function testSetACL() { ]); } - public function testGetFoldersForGroup() { + public function testGetFoldersForGroup(): void { $folderId1 = $this->manager->createFolder('foo'); $this->manager->addApplicableGroup($folderId1, 'g1'); $this->manager->addApplicableGroup($folderId1, 'g2'); @@ -280,7 +280,7 @@ public function testGetFoldersForGroup() { $this->assertEquals(2, $folder['permissions']); } - public function testGetFoldersForGroups() { + public function testGetFoldersForGroups(): void { $folderId1 = $this->manager->createFolder('foo'); $this->manager->addApplicableGroup($folderId1, 'g1'); $this->manager->addApplicableGroup($folderId1, 'g2'); @@ -309,13 +309,13 @@ protected function getUser($groups = []) { return $user; } - public function testGetFoldersForUserEmpty() { + public function testGetFoldersForUserEmpty(): void { $folders = $this->manager->getFoldersForUser($this->getUser()); $this->assertEquals([], $folders); } - public function testGetFoldersForUserSimple() { + public function testGetFoldersForUserSimple(): void { $db = $this->createMock(IDBConnection::class); /** @var FolderManager|\PHPUnit_Framework_MockObject_MockObject $manager */ $manager = $this->getMockBuilder(FolderManager::class) @@ -338,7 +338,7 @@ public function testGetFoldersForUserSimple() { $this->assertEquals([$folder], $folders); } - public function testGetFoldersForUserMerge() { + public function testGetFoldersForUserMerge(): void { $db = $this->createMock(IDBConnection::class); /** @var FolderManager|\PHPUnit_Framework_MockObject_MockObject $manager */ $manager = $this->getMockBuilder(FolderManager::class) @@ -374,7 +374,7 @@ public function testGetFoldersForUserMerge() { ], $folders); } - public function testGetFolderPermissionsForUserMerge() { + public function testGetFolderPermissionsForUserMerge(): void { $db = $this->createMock(IDBConnection::class); /** @var FolderManager|\PHPUnit_Framework_MockObject_MockObject $manager */ $manager = $this->getMockBuilder(FolderManager::class) diff --git a/tests/Trash/TrashBackendTest.php b/tests/Trash/TrashBackendTest.php index 9c45ea428..119065783 100644 --- a/tests/Trash/TrashBackendTest.php +++ b/tests/Trash/TrashBackendTest.php @@ -105,7 +105,7 @@ private function createNoReadRule(string $userId, int $fileId): Rule { ); } - public function testHideTrashItemAcl() { + public function testHideTrashItemAcl(): void { $this->loginAsUser('manager'); $restricted = $this->managerUserFolder->newFile("{$this->folderName}/restricted.txt", 'content'); @@ -126,7 +126,7 @@ public function testHideTrashItemAcl() { $this->logout(); } - public function testHideItemInDeletedFolderAcl() { + public function testHideItemInDeletedFolderAcl(): void { $this->loginAsUser('manager'); $folder = $this->managerUserFolder->newFolder("{$this->folderName}/folder"); @@ -155,7 +155,7 @@ public function testHideItemInDeletedFolderAcl() { $this->logout(); } - public function testHideDeletedTrashItemInDeletedFolderAcl() { + public function testHideDeletedTrashItemInDeletedFolderAcl(): void { $this->loginAsUser('manager'); $folder = $this->managerUserFolder->newFolder("{$this->folderName}/restricted"); @@ -183,7 +183,7 @@ public function testHideDeletedTrashItemInDeletedFolderAcl() { $this->logout(); } - public function testHideDeletedTrashItemInDeletedParentFolderAcl() { + public function testHideDeletedTrashItemInDeletedParentFolderAcl(): void { $this->loginAsUser('manager'); $parent = $this->managerUserFolder->newFolder("{$this->folderName}/parent");