summaryrefslogtreecommitdiffstats
path: root/tests/lib/share20/defaultshareprovidertest.php
diff options
context:
space:
mode:
authorRoeland Jago Douma <rullzer@owncloud.com>2016-01-29 10:07:28 +0100
committerRoeland Jago Douma <rullzer@owncloud.com>2016-02-02 10:41:57 +0100
commit403547f0ea9f34b82fa0ea5e9d7ebc1144ffa0e7 (patch)
tree21cf2f654f4a368b50fa7c7ac10a88777d545b69 /tests/lib/share20/defaultshareprovidertest.php
parent4777f78187cb758413db1b11f11ccb9304f12482 (diff)
downloadnextcloud-server-403547f0ea9f34b82fa0ea5e9d7ebc1144ffa0e7.tar.gz
nextcloud-server-403547f0ea9f34b82fa0ea5e9d7ebc1144ffa0e7.zip
[Share 2.0] Allow recipient to be passed in to getShareById
* This allows us to retrieve usergroup shares for a given id. If the user deleted a share or moved it this will be a different share
Diffstat (limited to 'tests/lib/share20/defaultshareprovidertest.php')
-rw-r--r--tests/lib/share20/defaultshareprovidertest.php38
1 files changed, 38 insertions, 0 deletions
diff --git a/tests/lib/share20/defaultshareprovidertest.php b/tests/lib/share20/defaultshareprovidertest.php
index 28b57435e1d..4145e9e5ec6 100644
--- a/tests/lib/share20/defaultshareprovidertest.php
+++ b/tests/lib/share20/defaultshareprovidertest.php
@@ -247,6 +247,44 @@ class DefaultShareProviderTest extends \Test\TestCase {
$this->assertEquals('myTarget', $share->getTarget());
}
+ public function testGetShareByIdUserGroupShare() {
+ $id = $this->addShareToDB(\OCP\Share::SHARE_TYPE_GROUP, 'group0', 'user0', 'user0', 'file', 42, 'myTarget', 31, null, null);
+ $this->addShareToDB(2, 'user1', 'user0', 'user0', 'file', 42, 'userTarget', 0, null, null, $id);
+
+ $user0 = $this->getMock('OCP\IUser');
+ $user0->method('getUID')->willReturn('user0');
+ $user1 = $this->getMock('OCP\IUser');
+ $user1->method('getUID')->willReturn('user1');
+
+ $group0 = $this->getMock('OCP\IGroup');
+ $group0->method('inGroup')->with($user1)->willReturn(true);
+
+ $node = $this->getMock('\OCP\Files\Folder');
+ $node->method('getId')->willReturn(42);
+
+ $this->rootFolder->method('getUserFolder')->with('user0')->will($this->returnSelf());
+ $this->rootFolder->method('getById')->willReturn([$node]);
+
+ $this->userManager->method('get')->will($this->returnValueMap([
+ ['user0', $user0],
+ ['user1', $user1],
+ ]));
+ $this->groupManager->method('get')->with('group0')->willReturn($group0);
+
+ $share = $this->provider->getShareById($id, $user1);
+
+ $this->assertEquals($id, $share->getId());
+ $this->assertEquals(\OCP\Share::SHARE_TYPE_GROUP, $share->getShareType());
+ $this->assertSame($group0, $share->getSharedWith());
+ $this->assertSame($user0, $share->getSharedBy());
+ $this->assertSame($user0, $share->getShareOwner());
+ $this->assertSame($node, $share->getNode());
+ $this->assertEquals(0, $share->getPermissions());
+ $this->assertEquals(null, $share->getToken());
+ $this->assertEquals(null, $share->getExpirationDate());
+ $this->assertEquals('userTarget', $share->getTarget());
+ }
+
public function testGetShareByIdLinkShare() {
$qb = $this->dbConn->getQueryBuilder();