summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRoeland Jago Douma <roeland@famdouma.nl>2016-11-15 09:12:42 +0100
committerRoeland Jago Douma <roeland@famdouma.nl>2016-11-15 09:41:59 +0100
commit5039b37570cf733e26d819e7396f6501517236e7 (patch)
tree0d62e0955c09633b6f54077c6ff2c7559d3e6035
parent8315891418c8abad9b87838b52f3c95f5549ee56 (diff)
downloadnextcloud-server-5039b37570cf733e26d819e7396f6501517236e7.tar.gz
nextcloud-server-5039b37570cf733e26d819e7396f6501517236e7.zip
Fix tests
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
-rw-r--r--apps/files_sharing/tests/API/Share20OCSTest.php55
1 files changed, 55 insertions, 0 deletions
diff --git a/apps/files_sharing/tests/API/Share20OCSTest.php b/apps/files_sharing/tests/API/Share20OCSTest.php
index 90986fc0c34..683377a0970 100644
--- a/apps/files_sharing/tests/API/Share20OCSTest.php
+++ b/apps/files_sharing/tests/API/Share20OCSTest.php
@@ -1334,6 +1334,9 @@ class Share20OCSTest extends \Test\TestCase {
})
)->will($this->returnArgument(0));
+ $this->shareManager->method('getSharedWith')
+ ->willReturn([]);
+
$expected = new \OC_OCS_Result(null);
$result = $ocs->updateShare(42);
@@ -1374,6 +1377,9 @@ class Share20OCSTest extends \Test\TestCase {
})
)->will($this->returnArgument(0));
+ $this->shareManager->method('getSharedWith')
+ ->willReturn([]);
+
$expected = new \OC_OCS_Result(null);
$result = $ocs->updateShare(42);
@@ -1650,6 +1656,9 @@ class Share20OCSTest extends \Test\TestCase {
})
)->will($this->returnArgument(0));
+ $this->shareManager->method('getSharedWith')
+ ->willReturn([]);
+
$expected = new \OC_OCS_Result(null);
$result = $ocs->updateShare(42);
@@ -1819,6 +1828,52 @@ class Share20OCSTest extends \Test\TestCase {
$this->assertEquals($expected->getData(), $result->getData());
}
+ public function testUpdateShareCannotIncreasePermissionsLinkShare() {
+ $ocs = $this->mockFormatShare();
+ $folder = $this->getMockBuilder('OCP\Files\Folder')
+ ->getMock();
+ $share = \OC::$server->getShareManager()->newShare();
+ $share
+ ->setId(42)
+ ->setSharedBy($this->currentUser->getUID())
+ ->setShareOwner('anotheruser')
+ ->setShareType(\OCP\Share::SHARE_TYPE_LINK)
+ ->setPermissions(\OCP\Constants::PERMISSION_READ)
+ ->setNode($folder);
+ // note: updateShare will modify the received instance but getSharedWith will reread from the database,
+ // so their values will be different
+ $incomingShare = \OC::$server->getShareManager()->newShare();
+ $incomingShare
+ ->setId(42)
+ ->setSharedBy($this->currentUser->getUID())
+ ->setShareOwner('anotheruser')
+ ->setShareType(\OCP\Share::SHARE_TYPE_USER)
+ ->setSharedWith('currentUser')
+ ->setPermissions(\OCP\Constants::PERMISSION_READ)
+ ->setNode($folder);
+ $this->shareManager->method('getShareById')->with('ocinternal:42')->willReturn($share);
+ $this->shareManager->expects($this->any())
+ ->method('getSharedWith')
+ ->will($this->returnValueMap([
+ ['currentUser', \OCP\Share::SHARE_TYPE_USER, $share->getNode(), -1, 0, [$incomingShare]],
+ ['currentUser', \OCP\Share::SHARE_TYPE_GROUP, $share->getNode(), -1, 0, []]
+ ]));
+ $this->shareManager->expects($this->never())->method('updateShare');
+ $this->shareManager->method('shareApiLinkAllowPublicUpload')->willReturn(true);
+
+ $this->request
+ ->method('getParam')
+ ->will($this->returnValueMap([
+ ['publicUpload', null, 'true'],
+ ]));
+
+ $expected = new \OC_OCS_Result(null, 404, 'Cannot increase permissions');
+ $result = $ocs->updateShare(42);
+
+ $this->assertEquals($expected->getMeta(), $result->getMeta());
+ $this->assertEquals($expected->getData(), $result->getData());
+ }
+
public function testUpdateShareCanIncreasePermissionsIfOwner() {
$ocs = $this->mockFormatShare();