diff options
author | Julius Härtl <jus@bitgrid.net> | 2023-03-07 07:20:38 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-03-07 07:20:38 +0100 |
commit | 9e73412e3f596d3bed478ecce4d014950d8993e9 (patch) | |
tree | 5b817de5fa024b16cc9fb96c53b5e42f70124d20 /apps | |
parent | cddfb01d99193565a2d0329b0d23f6b681ffd930 (diff) | |
parent | d515da502f34af151e156ba383c1d2e5c8289520 (diff) | |
download | nextcloud-server-9e73412e3f596d3bed478ecce4d014950d8993e9.tar.gz nextcloud-server-9e73412e3f596d3bed478ecce4d014950d8993e9.zip |
Merge pull request #34835 from nextcloud/tests/integration-s3
Diffstat (limited to 'apps')
-rw-r--r-- | apps/dav/lib/Connector/Sabre/Directory.php | 11 | ||||
-rw-r--r-- | apps/dav/tests/unit/Connector/Sabre/DirectoryTest.php | 12 | ||||
-rw-r--r-- | apps/provisioning_api/lib/Controller/UsersController.php | 5 |
3 files changed, 21 insertions, 7 deletions
diff --git a/apps/dav/lib/Connector/Sabre/Directory.php b/apps/dav/lib/Connector/Sabre/Directory.php index f4b1ee62190..531ccff9d92 100644 --- a/apps/dav/lib/Connector/Sabre/Directory.php +++ b/apps/dav/lib/Connector/Sabre/Directory.php @@ -35,7 +35,6 @@ namespace OCA\DAV\Connector\Sabre; use OC\Files\Mount\MoveableMount; use OC\Files\View; use OC\Metadata\FileMetadata; -use OC\Metadata\MetadataGroup; use OCA\DAV\Connector\Sabre\Exception\FileLocked; use OCA\DAV\Connector\Sabre\Exception\Forbidden; use OCA\DAV\Connector\Sabre\Exception\InvalidPath; @@ -57,7 +56,6 @@ use Sabre\DAV\INode; use OCP\Share\IManager as IShareManager; class Directory extends \OCA\DAV\Connector\Sabre\Node implements \Sabre\DAV\ICollection, \Sabre\DAV\IQuota, \Sabre\DAV\IMoveTarget, \Sabre\DAV\ICopyTarget { - /** * Cached directory content * @var \OCP\Files\FileInfo[] @@ -116,7 +114,6 @@ class Directory extends \OCA\DAV\Connector\Sabre\Node implements \Sabre\DAV\ICol // for chunked upload also updating a existing file is a "createFile" // because we create all the chunks before re-assemble them to the existing file. if (isset($_SERVER['HTTP_OC_CHUNKED'])) { - // exit if we can't create a new file and we don't updatable existing file $chunkInfo = \OC_FileChunking::decodeName($name); if (!$this->fileView->isCreatable($this->path) && @@ -328,8 +325,14 @@ class Directory extends \OCA\DAV\Connector\Sabre\Node implements \Sabre\DAV\ICol if ($this->quotaInfo) { return $this->quotaInfo; } + $relativePath = $this->fileView->getRelativePath($this->info->getPath()); + if ($relativePath === null) { + $logger->warning("error while getting quota as the relative path cannot be found"); + return [0, 0]; + } + try { - $storageInfo = \OC_Helper::getStorageInfo($this->info->getPath(), $this->info, false); + $storageInfo = \OC_Helper::getStorageInfo($relativePath, $this->info, false); if ($storageInfo['quota'] === \OCP\Files\FileInfo::SPACE_UNLIMITED) { $free = \OCP\Files\FileInfo::SPACE_UNLIMITED; } else { diff --git a/apps/dav/tests/unit/Connector/Sabre/DirectoryTest.php b/apps/dav/tests/unit/Connector/Sabre/DirectoryTest.php index edbe4278c3a..a74cb139966 100644 --- a/apps/dav/tests/unit/Connector/Sabre/DirectoryTest.php +++ b/apps/dav/tests/unit/Connector/Sabre/DirectoryTest.php @@ -304,6 +304,10 @@ class DirectoryTest extends \Test\TestCase { ->method('free_space') ->willReturn(800); + $this->info->expects($this->any()) + ->method('getPath') + ->willReturn('/admin/files/foo'); + $this->info->expects($this->once()) ->method('getSize') ->willReturn(200); @@ -312,6 +316,10 @@ class DirectoryTest extends \Test\TestCase { ->method('getMountPoint') ->willReturn($mountPoint); + $this->view->expects($this->any()) + ->method('getRelativePath') + ->willReturn('/foo'); + $mountPoint->method('getMountPoint') ->willReturn('/user/files/mymountpoint'); @@ -359,6 +367,10 @@ class DirectoryTest extends \Test\TestCase { $mountPoint->method('getMountPoint') ->willReturn('/user/files/mymountpoint'); + $this->view->expects($this->any()) + ->method('getRelativePath') + ->willReturn('/foo'); + $dir = new Directory($this->view, $this->info); $this->assertEquals([200, 800], $dir->getQuotaInfo()); //200 used, 800 free } diff --git a/apps/provisioning_api/lib/Controller/UsersController.php b/apps/provisioning_api/lib/Controller/UsersController.php index 97d66acd2e0..1613561fbe1 100644 --- a/apps/provisioning_api/lib/Controller/UsersController.php +++ b/apps/provisioning_api/lib/Controller/UsersController.php @@ -77,7 +77,6 @@ use OCP\User\Backend\ISetDisplayNameBackend; use Psr\Log\LoggerInterface; class UsersController extends AUserData { - /** @var IURLGenerator */ protected $urlGenerator; /** @var LoggerInterface */ @@ -374,7 +373,7 @@ class UsersController extends AUserData { $group = $this->groupManager->get($groupid); // Check if group exists if ($group === null) { - throw new OCSException('Subadmin group does not exist', 102); + throw new OCSException('Subadmin group does not exist', 102); } // Check if trying to make subadmin of admin group if ($group->getGID() === 'admin') { @@ -1311,7 +1310,7 @@ class UsersController extends AUserData { } // Check if group exists if ($group === null) { - throw new OCSException('Group does not exist', 102); + throw new OCSException('Group does not exist', 102); } // Check if trying to make subadmin of admin group if ($group->getGID() === 'admin') { |