From 174634448195a3b4593a4139a3043f5251a055ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julius=20H=C3=A4rtl?= Date: Fri, 26 Aug 2022 08:34:15 +0200 Subject: [PATCH] Use display name cache on getStorageInfo MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Julius Härtl Adapt test to also run isolated Signed-off-by: Julius Härtl --- .../tests/unit/Connector/Sabre/DirectoryTest.php | 15 +++++++++++++++ lib/private/legacy/OC_Helper.php | 6 +++--- 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/apps/dav/tests/unit/Connector/Sabre/DirectoryTest.php b/apps/dav/tests/unit/Connector/Sabre/DirectoryTest.php index e8297c2ac66..1de82484ac4 100644 --- a/apps/dav/tests/unit/Connector/Sabre/DirectoryTest.php +++ b/apps/dav/tests/unit/Connector/Sabre/DirectoryTest.php @@ -34,6 +34,7 @@ use OC\Files\Storage\Wrapper\Quota; use OCA\DAV\Connector\Sabre\Directory; use OCP\Files\ForbiddenException; use OCP\Files\Mount\IMountPoint; +use Test\Traits\UserTrait; class TestViewDirectory extends \OC\Files\View { private $updatables; @@ -73,6 +74,8 @@ class TestViewDirectory extends \OC\Files\View { */ class DirectoryTest extends \Test\TestCase { + use UserTrait; + /** @var \OC\Files\View | \PHPUnit\Framework\MockObject\MockObject */ private $view; /** @var \OC\Files\FileInfo | \PHPUnit\Framework\MockObject\MockObject */ @@ -274,6 +277,8 @@ class DirectoryTest extends \Test\TestCase { } public function testGetQuotaInfoUnlimited() { + self::createUser('user', 'password'); + self::loginAsUser('user'); $mountPoint = $this->createMock(IMountPoint::class); $storage = $this->getMockBuilder(Quota::class) ->disableOriginalConstructor() @@ -288,6 +293,10 @@ class DirectoryTest extends \Test\TestCase { '\OC\Files\Storage\Wrapper\Quota' => false, ]); + $storage->expects($this->once()) + ->method('getOwner') + ->willReturn('user'); + $storage->expects($this->never()) ->method('getQuota'); @@ -311,6 +320,8 @@ class DirectoryTest extends \Test\TestCase { } public function testGetQuotaInfoSpecific() { + self::createUser('user', 'password'); + self::loginAsUser('user'); $mountPoint = $this->createMock(IMountPoint::class); $storage = $this->getMockBuilder(Quota::class) ->disableOriginalConstructor() @@ -325,6 +336,10 @@ class DirectoryTest extends \Test\TestCase { ['\OC\Files\Storage\Wrapper\Quota', true], ]); + $storage->expects($this->once()) + ->method('getOwner') + ->willReturn('user'); + $storage->expects($this->once()) ->method('getQuota') ->willReturn(1000); diff --git a/lib/private/legacy/OC_Helper.php b/lib/private/legacy/OC_Helper.php index 3b409fd1d04..f16bc85a36c 100644 --- a/lib/private/legacy/OC_Helper.php +++ b/lib/private/legacy/OC_Helper.php @@ -547,10 +547,10 @@ class OC_Helper { $ownerId = $storage->getOwner($path); $ownerDisplayName = ''; - $owner = \OC::$server->getUserManager()->get($ownerId); - if ($owner) { - $ownerDisplayName = $owner->getDisplayName(); + if ($ownerId) { + $ownerDisplayName = \OC::$server->getUserManager()->getDisplayName($ownerId) ?? ''; } + if (substr_count($mount->getMountPoint(), '/') < 3) { $mountPoint = ''; } else {