public function testGetChildren()
 {
     $qb = $this->dbConn->getQueryBuilder();
     $qb->insert('share')->values(['share_type' => $qb->expr()->literal(\OCP\Share::SHARE_TYPE_USER), 'share_with' => $qb->expr()->literal('sharedWith'), 'uid_owner' => $qb->expr()->literal('sharedBy'), 'item_type' => $qb->expr()->literal('file'), 'file_source' => $qb->expr()->literal(42), 'file_target' => $qb->expr()->literal('myTarget'), 'permissions' => $qb->expr()->literal(13)]);
     $qb->execute();
     // Get the id
     $qb = $this->dbConn->getQueryBuilder();
     $cursor = $qb->select('id')->from('share')->setMaxResults(1)->orderBy('id', 'DESC')->execute();
     $id = $cursor->fetch();
     $id = $id['id'];
     $cursor->closeCursor();
     $qb = $this->dbConn->getQueryBuilder();
     $qb->insert('share')->values(['share_type' => $qb->expr()->literal(\OCP\Share::SHARE_TYPE_USER), 'share_with' => $qb->expr()->literal('user1'), 'uid_owner' => $qb->expr()->literal('user2'), 'item_type' => $qb->expr()->literal('file'), 'file_source' => $qb->expr()->literal(1), 'file_target' => $qb->expr()->literal('myTarget1'), 'permissions' => $qb->expr()->literal(2), 'parent' => $qb->expr()->literal($id)]);
     $qb->execute();
     $qb = $this->dbConn->getQueryBuilder();
     $qb->insert('share')->values(['share_type' => $qb->expr()->literal(\OCP\Share::SHARE_TYPE_GROUP), 'share_with' => $qb->expr()->literal('group1'), 'uid_owner' => $qb->expr()->literal('user3'), 'item_type' => $qb->expr()->literal('folder'), 'file_source' => $qb->expr()->literal(3), 'file_target' => $qb->expr()->literal('myTarget2'), 'permissions' => $qb->expr()->literal(4), 'parent' => $qb->expr()->literal($id)]);
     $qb->execute();
     $storage = $this->getMock('OC\\Files\\Storage\\Storage');
     $storage->method('getOwner')->willReturn('shareOwner');
     $path1 = $this->getMock('OCP\\Files\\File');
     $path1->expects($this->once())->method('getStorage')->willReturn($storage);
     $path2 = $this->getMock('OCP\\Files\\Folder');
     $path2->expects($this->once())->method('getStorage')->willReturn($storage);
     $this->userFolder->method('getById')->will($this->returnValueMap([[1, [$path1]], [3, [$path2]]]));
     $shareOwner = $this->getMock('OCP\\IUser');
     $user1 = $this->getMock('OCP\\IUser');
     $user2 = $this->getMock('OCP\\IUser');
     $user3 = $this->getMock('OCP\\IUser');
     $this->userManager->method('get')->will($this->returnValueMap([['shareOwner', $shareOwner], ['user1', $user1], ['user2', $user2], ['user3', $user3]]));
     $group1 = $this->getMock('OCP\\IGroup');
     $this->groupManager->method('get')->will($this->returnValueMap([['group1', $group1]]));
     $share = $this->getMock('\\OC\\Share20\\IShare');
     $share->method('getId')->willReturn($id);
     $children = $this->provider->getChildren($share);
     $this->assertCount(2, $children);
     //Child1
     $this->assertEquals(\OCP\Share::SHARE_TYPE_USER, $children[0]->getShareType());
     $this->assertEquals($user1, $children[0]->getSharedWith());
     $this->assertEquals($user2, $children[0]->getSharedBy());
     $this->assertEquals($shareOwner, $children[0]->getShareOwner());
     $this->assertEquals($path1, $children[0]->getPath());
     $this->assertEquals(2, $children[0]->getPermissions());
     $this->assertEquals(null, $children[0]->getToken());
     $this->assertEquals(null, $children[0]->getExpirationDate());
     $this->assertEquals('myTarget1', $children[0]->getTarget());
     //Child2
     $this->assertEquals(\OCP\Share::SHARE_TYPE_GROUP, $children[1]->getShareType());
     $this->assertEquals($group1, $children[1]->getSharedWith());
     $this->assertEquals($user3, $children[1]->getSharedBy());
     $this->assertEquals($shareOwner, $children[1]->getShareOwner());
     $this->assertEquals($path2, $children[1]->getPath());
     $this->assertEquals(4, $children[1]->getPermissions());
     $this->assertEquals(null, $children[1]->getToken());
     $this->assertEquals(null, $children[1]->getExpirationDate());
     $this->assertEquals('myTarget2', $children[1]->getTarget());
 }
Esempio n. 2
0
 public function testDeleteGroup()
 {
     $this->groupManager->method('groupExists')->with('ExistingGroup')->willReturn('true');
     $group = $this->createGroup('ExistingGroup');
     $this->groupManager->method('get')->with('ExistingGroup')->willReturn($group);
     $group->expects($this->once())->method('delete')->willReturn(true);
     $result = $this->api->deleteGroup(['groupid' => 'ExistingGroup']);
     $this->assertInstanceOf('OC_OCS_Result', $result);
     $this->assertTrue($result->succeeded());
 }
Esempio n. 3
0
 /**
  * @dataProvider dataIsSharingDisabledForUser
  *
  * @param string $excludeGroups
  * @param string $groupList
  * @param string $setList
  * @param string[] $groupIds
  * @param bool $expected
  */
 public function testIsSharingDisabledForUser($excludeGroups, $groupList, $setList, $groupIds, $expected)
 {
     $user = $this->getMock('\\OCP\\IUser');
     $this->config->method('getAppValue')->will($this->returnValueMap([['core', 'shareapi_exclude_groups', 'no', $excludeGroups], ['core', 'shareapi_exclude_groups_list', '', $groupList]]));
     if ($setList !== null) {
         $this->config->expects($this->once())->method('setAppValue')->with('core', 'shareapi_exclude_groups_list', $setList);
     } else {
         $this->config->expects($this->never())->method('setAppValue');
     }
     $this->groupManager->method('getUserGroupIds')->with($user)->willReturn($groupIds);
     $res = $this->manager->sharingDisabledForUser($user);
     $this->assertEquals($expected, $res);
 }
Esempio n. 4
0
 public function testMoveShareGroup()
 {
     $share = $this->manager->newShare();
     $share->setShareType(\OCP\Share::SHARE_TYPE_GROUP);
     $group = $this->getMock('\\OCP\\IGroup');
     $share->setSharedWith('group');
     $recipient = $this->getMock('\\OCP\\IUser');
     $group->method('inGroup')->with($recipient)->willReturn(true);
     $this->groupManager->method('get')->with('group')->willReturn($group);
     $this->userManager->method('get')->with('recipient')->willReturn($recipient);
     $this->defaultProvider->method('move')->with($share, 'recipient')->will($this->returnArgument(0));
     $this->manager->moveShare($share, 'recipient');
 }
Esempio n. 5
0
 public function testCreateGroupShare()
 {
     $share = new \OC\Share20\Share();
     $sharedWith = $this->getMock('OCP\\IGroup');
     $sharedWith->method('getGID')->willReturn('sharedWith');
     $sharedBy = $this->getMock('OCP\\IUser');
     $sharedBy->method('getUID')->willReturn('sharedBy');
     $shareOwner = $this->getMock('OCP\\IUser');
     $shareOwner->method('getUID')->WillReturn('shareOwner');
     $this->userManager->method('get')->will($this->returnValueMap([['sharedBy', $sharedBy], ['shareOwner', $shareOwner]]));
     $this->groupManager->method('get')->with('sharedWith')->willReturn($sharedWith);
     $path = $this->getMock('\\OCP\\Files\\Folder');
     $path->method('getId')->willReturn(100);
     $path->method('getOwner')->willReturn($shareOwner);
     $ownerFolder = $this->getMock('OCP\\Files\\Folder');
     $userFolder = $this->getMock('OCP\\Files\\Folder');
     $this->rootFolder->method('getUserFolder')->will($this->returnValueMap([['sharedBy', $userFolder], ['shareOwner', $ownerFolder]]));
     $userFolder->method('getById')->with(100)->willReturn([$path]);
     $ownerFolder->method('getById')->with(100)->willReturn([$path]);
     $share->setShareType(\OCP\Share::SHARE_TYPE_GROUP);
     $share->setSharedWith($sharedWith);
     $share->setSharedBy($sharedBy);
     $share->setShareOwner($shareOwner);
     $share->setPath($path);
     $share->setPermissions(1);
     $share->setTarget('/target');
     $share2 = $this->provider->create($share);
     $this->assertNotNull($share2->getId());
     $this->assertSame('ocinternal:' . $share2->getId(), $share2->getFullId());
     $this->assertSame(\OCP\Share::SHARE_TYPE_GROUP, $share2->getShareType());
     $this->assertSame($sharedWith, $share2->getSharedWith());
     $this->assertSame($sharedBy, $share2->getSharedBy());
     $this->assertSame($shareOwner, $share2->getShareOwner());
     $this->assertSame(1, $share2->getPermissions());
     $this->assertSame('/target', $share2->getTarget());
     $this->assertLessThanOrEqual(time(), $share2->getSharetime());
     $this->assertSame($path, $share2->getPath());
 }
Esempio n. 6
0
 public function testCreateShareGroup()
 {
     $share = $this->getMock('\\OC\\Share20\\IShare');
     $this->shareManager->method('newShare')->willReturn($share);
     $ocs = $this->getMockBuilder('OCA\\Files_Sharing\\API\\Share20OCS')->setConstructorArgs([$this->shareManager, $this->groupManager, $this->userManager, $this->request, $this->rootFolder, $this->urlGenerator, $this->currentUser])->setMethods(['formatShare'])->getMock();
     $this->request->method('getParam')->will($this->returnValueMap([['path', null, 'valid-path'], ['permissions', null, \OCP\Constants::PERMISSION_ALL], ['shareType', '-1', \OCP\Share::SHARE_TYPE_GROUP], ['shareWith', null, 'validGroup']]));
     $userFolder = $this->getMock('\\OCP\\Files\\Folder');
     $this->rootFolder->expects($this->once())->method('getUserFolder')->with('currentUser')->willReturn($userFolder);
     $path = $this->getMock('\\OCP\\Files\\Folder');
     $userFolder->expects($this->once())->method('get')->with('valid-path')->willReturn($path);
     $group = $this->getMock('\\OCP\\IGroup');
     $this->groupManager->method('groupExists')->with('validGroup')->willReturn(true);
     $this->groupManager->method('get')->with('validGroup')->willReturn($group);
     $share->method('setPath')->with($path);
     $share->method('setPermissions')->with(\OCP\Constants::PERMISSION_ALL);
     $share->method('setShareType')->with(\OCP\Share::SHARE_TYPE_GROUP);
     $share->method('setSharedWith')->with($group);
     $share->method('setSharedBy')->with($this->currentUser);
     $expected = new \OC_OCS_Result();
     $result = $ocs->createShare();
     $this->assertEquals($expected->getMeta(), $result->getMeta());
     $this->assertEquals($expected->getData(), $result->getData());
 }