From 7b9ca4f7c245c6a6e0db1e0da2e75119011be245 Mon Sep 17 00:00:00 2001 From: Roeland Jago Douma Date: Wed, 3 Mar 2021 12:49:56 +0100 Subject: [PATCH] Add some typing to SharedStorage Makes psalm a bit more happy. Signed-off-by: Roeland Jago Douma --- apps/files_sharing/lib/SharedStorage.php | 45 ++++++++++++------------ tests/lib/Files/Utils/ScannerTest.php | 9 +++-- 2 files changed, 27 insertions(+), 27 deletions(-) diff --git a/apps/files_sharing/lib/SharedStorage.php b/apps/files_sharing/lib/SharedStorage.php index 221d022bb1..eb0af41998 100644 --- a/apps/files_sharing/lib/SharedStorage.php +++ b/apps/files_sharing/lib/SharedStorage.php @@ -45,6 +45,7 @@ use OCP\Files\NotFoundException; use OCP\Files\Storage\IDisableEncryptionStorage; use OCP\Files\Storage\IStorage; use OCP\Lock\ILockingProvider; +use OCP\Share\IShare; /** * Convert target path to source path and pass the function call to the correct storage provider @@ -159,7 +160,7 @@ class SharedStorage extends \OC\Files\Storage\Wrapper\Jail implements ISharedSto /** * @inheritdoc */ - public function instanceOfStorage($class) { + public function instanceOfStorage($class): bool { if ($class === '\OC\Files\Storage\Common') { return true; } @@ -176,7 +177,7 @@ class SharedStorage extends \OC\Files\Storage\Wrapper\Jail implements ISharedSto return $this->superShare->getId(); } - private function isValid() { + private function isValid(): bool { return $this->getSourceRootInfo() && ($this->getSourceRootInfo()->getPermissions() & Constants::PERMISSION_SHARE) === Constants::PERMISSION_SHARE; } @@ -185,7 +186,7 @@ class SharedStorage extends \OC\Files\Storage\Wrapper\Jail implements ISharedSto * * @return string */ - public function getId() { + public function getId(): string { return 'shared::' . $this->getMountPoint(); } @@ -195,7 +196,7 @@ class SharedStorage extends \OC\Files\Storage\Wrapper\Jail implements ISharedSto * @param string $target Shared target file path * @return int CRUDS permissions granted */ - public function getPermissions($target = '') { + public function getPermissions($target = ''): int { if (!$this->isValid()) { return 0; } @@ -213,11 +214,11 @@ class SharedStorage extends \OC\Files\Storage\Wrapper\Jail implements ISharedSto return $permissions; } - public function isCreatable($path) { - return ($this->getPermissions($path) & \OCP\Constants::PERMISSION_CREATE); + public function isCreatable($path): bool { + return (bool)($this->getPermissions($path) & \OCP\Constants::PERMISSION_CREATE); } - public function isReadable($path) { + public function isReadable($path): bool { if (!$this->isValid()) { return false; } @@ -230,19 +231,19 @@ class SharedStorage extends \OC\Files\Storage\Wrapper\Jail implements ISharedSto return $storage->isReadable($internalPath); } - public function isUpdatable($path) { - return ($this->getPermissions($path) & \OCP\Constants::PERMISSION_UPDATE); + public function isUpdatable($path): bool { + return (bool)($this->getPermissions($path) & \OCP\Constants::PERMISSION_UPDATE); } - public function isDeletable($path) { - return ($this->getPermissions($path) & \OCP\Constants::PERMISSION_DELETE); + public function isDeletable($path): bool { + return (bool)($this->getPermissions($path) & \OCP\Constants::PERMISSION_DELETE); } - public function isSharable($path) { + public function isSharable($path): bool { if (\OCP\Util::isSharingDisabledForUser() || !\OC\Share\Share::isResharingAllowed()) { return false; } - return ($this->getPermissions($path) & \OCP\Constants::PERMISSION_SHARE); + return (bool)($this->getPermissions($path) & \OCP\Constants::PERMISSION_SHARE); } public function fopen($path, $mode) { @@ -304,7 +305,7 @@ class SharedStorage extends \OC\Files\Storage\Wrapper\Jail implements ISharedSto * @param string $path2 * @return bool */ - public function rename($path1, $path2) { + public function rename($path1, $path2): bool { $this->init(); $isPartFile = pathinfo($path1, PATHINFO_EXTENSION) === 'part'; $targetExists = $this->file_exists($path2); @@ -328,14 +329,14 @@ class SharedStorage extends \OC\Files\Storage\Wrapper\Jail implements ISharedSto * * @return string */ - public function getMountPoint() { + public function getMountPoint(): string { return $this->superShare->getTarget(); } /** * @param string $path */ - public function setMountPoint($path) { + public function setMountPoint($path): void { $this->superShare->setTarget($path); foreach ($this->groupedShares as $share) { @@ -348,14 +349,14 @@ class SharedStorage extends \OC\Files\Storage\Wrapper\Jail implements ISharedSto * * @return string */ - public function getSharedFrom() { + public function getSharedFrom(): string { return $this->superShare->getShareOwner(); } /** * @return \OCP\Share\IShare */ - public function getShare() { + public function getShare(): IShare { return $this->superShare; } @@ -364,7 +365,7 @@ class SharedStorage extends \OC\Files\Storage\Wrapper\Jail implements ISharedSto * * @return string */ - public function getItemType() { + public function getItemType(): string { return $this->superShare->getNodeType(); } @@ -396,11 +397,11 @@ class SharedStorage extends \OC\Files\Storage\Wrapper\Jail implements ISharedSto return new \OCA\Files_Sharing\Scanner($storage); } - public function getOwner($path) { + public function getOwner($path): string { return $this->superShare->getShareOwner(); } - public function getWatcher($path = '', $storage = null) { + public function getWatcher($path = '', $storage = null): NullWatcher { // cache updating is handled by the share source return new NullWatcher(); } @@ -410,7 +411,7 @@ class SharedStorage extends \OC\Files\Storage\Wrapper\Jail implements ISharedSto * * @return bool */ - public function unshareStorage() { + public function unshareStorage(): bool { foreach ($this->groupedShares as $share) { \OC::$server->getShareManager()->deleteFromSelf($share, $this->user); } diff --git a/tests/lib/Files/Utils/ScannerTest.php b/tests/lib/Files/Utils/ScannerTest.php index 376e72e681..abd72416ff 100644 --- a/tests/lib/Files/Utils/ScannerTest.php +++ b/tests/lib/Files/Utils/ScannerTest.php @@ -197,11 +197,10 @@ class ScannerTest extends \Test\TestCase { $sharedMount = new MountPoint($sharedStorage, '/share'); Filesystem::getMountManager()->addMount($sharedMount); - $sharedStorage->expects($this->any()) - ->method('instanceOfStorage') - ->willReturnMap([ - [SharedStorage::class, true], - ]); + $sharedStorage->method('instanceOfStorage') + ->willReturnCallback(function (string $c) { + return $c === SharedStorage::class; + }); $sharedStorage->expects($this->never()) ->method('getScanner');