From a4b2403e293f0ed8f0a63892f9cd14929d28073e Mon Sep 17 00:00:00 2001 From: Joas Schilling Date: Thu, 3 Sep 2020 15:46:21 +0200 Subject: [PATCH 1/2] The privacy setting is only about syncing to other servers Signed-off-by: Joas Schilling --- core/Controller/AvatarController.php | 15 --------- .../Core/Controller/AvatarControllerTest.php | 33 ------------------- 2 files changed, 48 deletions(-) diff --git a/core/Controller/AvatarController.php b/core/Controller/AvatarController.php index dc6febc467..cbcb978368 100644 --- a/core/Controller/AvatarController.php +++ b/core/Controller/AvatarController.php @@ -126,21 +126,6 @@ class AvatarController extends Controller { $size = 64; } - $user = $this->userManager->get($userId); - if ($user === null) { - return new JSONResponse([], Http::STATUS_NOT_FOUND); - } - - $account = $this->accountManager->getAccount($user); - $scope = $account->getProperty(IAccountManager::PROPERTY_AVATAR)->getScope(); - - if ($scope !== IAccountManager::VISIBILITY_PUBLIC && $this->userId === null) { - // Public avatar access is not allowed - $response = new JSONResponse([], Http::STATUS_NOT_FOUND); - $response->cacheFor(1800); - return $response; - } - try { $avatar = $this->avatarManager->getAvatar($userId); $avatarFile = $avatar->getFile($size); diff --git a/tests/Core/Controller/AvatarControllerTest.php b/tests/Core/Controller/AvatarControllerTest.php index f070897e1b..678648fa17 100644 --- a/tests/Core/Controller/AvatarControllerTest.php +++ b/tests/Core/Controller/AvatarControllerTest.php @@ -145,39 +145,6 @@ class AvatarControllerTest extends \Test\TestCase { $this->assertEquals(Http::STATUS_NOT_FOUND, $response->getStatus()); } - public function testAvatarNotPublic() { - $account = $this->createMock(IAccount::class); - $this->accountManager->method('getAccount') - ->with($this->userMock) - ->willReturn($account); - - $property = $this->createMock(IAccountProperty::class); - $account->method('getProperty') - ->with(IAccountManager::PROPERTY_AVATAR) - ->willReturn($property); - - $property->method('getScope') - ->willReturn(IAccountManager::VISIBILITY_PRIVATE); - - $controller = new AvatarController( - 'core', - $this->request, - $this->avatarManager, - $this->cache, - $this->l, - $this->userManager, - $this->rootFolder, - $this->logger, - null, - $this->timeFactory, - $this->accountManager - ); - - $result = $controller->getAvatar('userId', 128); - - $this->assertEquals(Http::STATUS_NOT_FOUND, $result->getStatus()); - } - /** * Fetch the user's avatar */ From c2bef528efe34c50425fe4415e826929b1f78530 Mon Sep 17 00:00:00 2001 From: Joas Schilling Date: Tue, 8 Sep 2020 10:45:35 +0200 Subject: [PATCH 2/2] Remove unused members and imports Signed-off-by: Joas Schilling --- core/Controller/AvatarController.php | 7 +------ tests/Core/Controller/AvatarControllerTest.php | 10 +--------- 2 files changed, 2 insertions(+), 15 deletions(-) diff --git a/core/Controller/AvatarController.php b/core/Controller/AvatarController.php index cbcb978368..c94d98da13 100644 --- a/core/Controller/AvatarController.php +++ b/core/Controller/AvatarController.php @@ -31,7 +31,6 @@ namespace OC\Core\Controller; use OC\AppFramework\Utility\TimeFactory; -use OCP\Accounts\IAccountManager; use OCP\AppFramework\Controller; use OCP\AppFramework\Http; use OCP\AppFramework\Http\DataDisplayResponse; @@ -80,8 +79,6 @@ class AvatarController extends Controller { /** @var TimeFactory */ protected $timeFactory; - /** @var IAccountManager */ - private $accountManager; public function __construct($appName, IRequest $request, @@ -92,8 +89,7 @@ class AvatarController extends Controller { IRootFolder $rootFolder, ILogger $logger, $userId, - TimeFactory $timeFactory, - IAccountManager $accountManager) { + TimeFactory $timeFactory) { parent::__construct($appName, $request); $this->avatarManager = $avatarManager; @@ -104,7 +100,6 @@ class AvatarController extends Controller { $this->logger = $logger; $this->userId = $userId; $this->timeFactory = $timeFactory; - $this->accountManager = $accountManager; } diff --git a/tests/Core/Controller/AvatarControllerTest.php b/tests/Core/Controller/AvatarControllerTest.php index 678648fa17..61f509b742 100644 --- a/tests/Core/Controller/AvatarControllerTest.php +++ b/tests/Core/Controller/AvatarControllerTest.php @@ -33,9 +33,6 @@ namespace Tests\Core\Controller; use OC\AppFramework\Utility\TimeFactory; use OC\Core\Controller\AvatarController; -use OCP\Accounts\IAccount; -use OCP\Accounts\IAccountManager; -use OCP\Accounts\IAccountProperty; use OCP\AppFramework\Http; use OCP\Files\File; use OCP\Files\IRootFolder; @@ -49,7 +46,6 @@ use OCP\ILogger; use OCP\IRequest; use OCP\IUser; use OCP\IUserManager; -use PHPUnit\Framework\MockObject\MockObject; /** * Class AvatarControllerTest @@ -82,8 +78,6 @@ class AvatarControllerTest extends \Test\TestCase { private $request; /** @var TimeFactory|\PHPUnit\Framework\MockObject\MockObject */ private $timeFactory; - /** @var IAccountManager|MockObject */ - private $accountManager; protected function setUp(): void { parent::setUp(); @@ -98,7 +92,6 @@ class AvatarControllerTest extends \Test\TestCase { $this->rootFolder = $this->getMockBuilder('OCP\Files\IRootFolder')->getMock(); $this->logger = $this->getMockBuilder(ILogger::class)->getMock(); $this->timeFactory = $this->getMockBuilder('OC\AppFramework\Utility\TimeFactory')->getMock(); - $this->accountManager = $this->createMock(IAccountManager::class); $this->avatarMock = $this->getMockBuilder('OCP\IAvatar')->getMock(); $this->userMock = $this->getMockBuilder(IUser::class)->getMock(); @@ -113,8 +106,7 @@ class AvatarControllerTest extends \Test\TestCase { $this->rootFolder, $this->logger, 'userid', - $this->timeFactory, - $this->accountManager + $this->timeFactory ); // Configure userMock