diff options
author | Thomas Citharel <tcit@tcit.fr> | 2021-02-15 16:12:33 +0100 |
---|---|---|
committer | Thomas Citharel <tcit@tcit.fr> | 2021-05-26 11:19:59 +0200 |
commit | 1c0d975654f71a1ac6a3d30ece915fa6e55397da (patch) | |
tree | 9499160ad9d01b7ee2e28b711e4e1cf6a5493586 /apps/files_sharing/tests | |
parent | e4b5645883d89ee3aca4105c1bde6ae4939f927c (diff) | |
download | nextcloud-server-1c0d975654f71a1ac6a3d30ece915fa6e55397da.tar.gz nextcloud-server-1c0d975654f71a1ac6a3d30ece915fa6e55397da.zip |
Make dav respect disallowing sharing with groups
Closes #25390
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
Diffstat (limited to 'apps/files_sharing/tests')
-rw-r--r-- | apps/files_sharing/tests/Controller/ShareesAPIControllerTest.php | 52 |
1 files changed, 28 insertions, 24 deletions
diff --git a/apps/files_sharing/tests/Controller/ShareesAPIControllerTest.php b/apps/files_sharing/tests/Controller/ShareesAPIControllerTest.php index 85267726068..f057bc1b892 100644 --- a/apps/files_sharing/tests/Controller/ShareesAPIControllerTest.php +++ b/apps/files_sharing/tests/Controller/ShareesAPIControllerTest.php @@ -41,6 +41,7 @@ use OCP\IRequest; use OCP\IURLGenerator; use OCP\Share\IShare; use OCP\Share\IManager; +use PHPUnit\Framework\MockObject\MockObject; /** * Class ShareesTest @@ -56,13 +57,13 @@ class ShareesAPIControllerTest extends TestCase { /** @var string */ protected $uid; - /** @var IRequest|\PHPUnit\Framework\MockObject\MockObject */ + /** @var IRequest|MockObject */ protected $request; - /** @var IManager|\PHPUnit\Framework\MockObject\MockObject */ + /** @var IManager|MockObject */ protected $shareManager; - /** @var ISearch|\PHPUnit\Framework\MockObject\MockObject */ + /** @var ISearch|MockObject */ protected $collaboratorSearch; protected function setUp(): void { @@ -72,10 +73,10 @@ class ShareesAPIControllerTest extends TestCase { $this->request = $this->createMock(IRequest::class); $this->shareManager = $this->createMock(IManager::class); - /** @var IConfig|\PHPUnit\Framework\MockObject\MockObject $configMock */ + /** @var IConfig|MockObject $configMock */ $configMock = $this->createMock(IConfig::class); - /** @var IURLGenerator|\PHPUnit\Framework\MockObject\MockObject $urlGeneratorMock */ + /** @var IURLGenerator|MockObject $urlGeneratorMock */ $urlGeneratorMock = $this->createMock(IURLGenerator::class); $this->collaboratorSearch = $this->createMock(ISearch::class); @@ -91,7 +92,7 @@ class ShareesAPIControllerTest extends TestCase { ); } - public function dataSearch() { + public function dataSearch(): array { $noRemote = [IShare::TYPE_USER, IShare::TYPE_GROUP, IShare::TYPE_EMAIL]; $allTypes = [IShare::TYPE_USER, IShare::TYPE_GROUP, IShare::TYPE_REMOTE, IShare::TYPE_REMOTE_GROUP, IShare::TYPE_EMAIL]; @@ -124,6 +125,9 @@ class ShareesAPIControllerTest extends TestCase { 'itemType' => 'call', ], '', 'yes', true, true, true, $noRemote, false, true, true], [[ + 'itemType' => 'call', + ], '', 'yes', true, true, true, [0, 4], false, true, false], + [[ 'itemType' => 'folder', ], '', 'yes', true, true, true, $allTypes, false, true, true], [[ @@ -230,14 +234,14 @@ class ShareesAPIControllerTest extends TestCase { * @param bool $allowGroupSharing * @throws OCSBadRequestException */ - public function testSearch($getData, $apiSetting, $enumSetting, $remoteSharingEnabled, $isRemoteGroupSharingEnabled, $emailSharingEnabled, $shareTypes, $shareWithGroupOnly, $shareeEnumeration, $allowGroupSharing) { - $search = isset($getData['search']) ? $getData['search'] : ''; - $itemType = isset($getData['itemType']) ? $getData['itemType'] : 'irrelevant'; - $page = isset($getData['page']) ? $getData['page'] : 1; - $perPage = isset($getData['perPage']) ? $getData['perPage'] : 200; - $shareType = isset($getData['shareType']) ? $getData['shareType'] : null; - - /** @var IConfig|\PHPUnit\Framework\MockObject\MockObject $config */ + public function testSearch(array $getData, string $apiSetting, string $enumSetting, bool $remoteSharingEnabled, bool $isRemoteGroupSharingEnabled, bool $emailSharingEnabled, array $shareTypes, bool $shareWithGroupOnly, bool $shareeEnumeration, bool $allowGroupSharing) { + $search = $getData['search'] ?? ''; + $itemType = $getData['itemType'] ?? 'irrelevant'; + $page = $getData['page'] ?? 1; + $perPage = $getData['perPage'] ?? 200; + $shareType = $getData['shareType'] ?? null; + + /** @var IConfig|MockObject $config */ $config = $this->createMock(IConfig::class); $config->expects($this->exactly(1)) ->method('getAppValue') @@ -246,19 +250,19 @@ class ShareesAPIControllerTest extends TestCase { ['files_sharing', 'lookupServerEnabled', 'yes', 'yes'], ]); - $this->shareManager->expects($itemType === 'file' || $itemType === 'folder' ? $this->once() : $this->never()) + $this->shareManager->expects($this->once()) ->method('allowGroupSharing') ->willReturn($allowGroupSharing); /** @var string */ $uid = 'test123'; - /** @var IRequest|\PHPUnit\Framework\MockObject\MockObject $request */ + /** @var IRequest|MockObject $request */ $request = $this->createMock(IRequest::class); - /** @var IURLGenerator|\PHPUnit\Framework\MockObject\MockObject $urlGenerator */ + /** @var IURLGenerator|MockObject $urlGenerator */ $urlGenerator = $this->createMock(IURLGenerator::class); - /** @var \PHPUnit\Framework\MockObject\MockObject|\OCA\Files_Sharing\Controller\ShareesAPIController $sharees */ - $sharees = $this->getMockBuilder('\OCA\Files_Sharing\Controller\ShareesAPIController') + /** @var MockObject|ShareesAPIController $sharees */ + $sharees = $this->getMockBuilder(ShareesAPIController::class) ->setConstructorArgs([ $uid, 'files_sharing', @@ -304,7 +308,7 @@ class ShareesAPIControllerTest extends TestCase { $this->assertInstanceOf(Http\DataResponse::class, $sharees->search($search, $itemType, $page, $perPage, $shareType)); } - public function dataSearchInvalid() { + public function dataSearchInvalid(): array { return [ // Test invalid pagination [[ @@ -340,19 +344,19 @@ class ShareesAPIControllerTest extends TestCase { $page = isset($getData['page']) ? $getData['page'] : 1; $perPage = isset($getData['perPage']) ? $getData['perPage'] : 200; - /** @var IConfig|\PHPUnit\Framework\MockObject\MockObject $config */ + /** @var IConfig|MockObject $config */ $config = $this->createMock(IConfig::class); $config->expects($this->never()) ->method('getAppValue'); /** @var string */ $uid = 'test123'; - /** @var IRequest|\PHPUnit\Framework\MockObject\MockObject $request */ + /** @var IRequest|MockObject $request */ $request = $this->createMock(IRequest::class); - /** @var IURLGenerator|\PHPUnit\Framework\MockObject\MockObject $urlGenerator */ + /** @var IURLGenerator|MockObject $urlGenerator */ $urlGenerator = $this->createMock(IURLGenerator::class); - /** @var \PHPUnit\Framework\MockObject\MockObject|\OCA\Files_Sharing\Controller\ShareesAPIController $sharees */ + /** @var MockObject|ShareesAPIController $sharees */ $sharees = $this->getMockBuilder('\OCA\Files_Sharing\Controller\ShareesAPIController') ->setConstructorArgs([ $uid, |