summaryrefslogtreecommitdiffstats
path: root/apps/federatedfilesharing/tests/FederatedShareProviderTest.php
diff options
context:
space:
mode:
Diffstat (limited to 'apps/federatedfilesharing/tests/FederatedShareProviderTest.php')
-rw-r--r--apps/federatedfilesharing/tests/FederatedShareProviderTest.php58
1 files changed, 57 insertions, 1 deletions
diff --git a/apps/federatedfilesharing/tests/FederatedShareProviderTest.php b/apps/federatedfilesharing/tests/FederatedShareProviderTest.php
index d9bc9a7e2ad..e01e02c83ba 100644
--- a/apps/federatedfilesharing/tests/FederatedShareProviderTest.php
+++ b/apps/federatedfilesharing/tests/FederatedShareProviderTest.php
@@ -53,7 +53,7 @@ class FederatedShareProviderTest extends \Test\TestCase {
protected $addressHandler;
/** @var Notifications | \PHPUnit_Framework_MockObject_MockObject */
protected $notifications;
- /** @var TokenHandler */
+ /** @var TokenHandler|\PHPUnit_Framework_MockObject_MockObject */
protected $tokenHandler;
/** @var IL10N */
protected $l;
@@ -788,4 +788,60 @@ class FederatedShareProviderTest extends \Test\TestCase {
$u1->delete();
$u2->delete();
}
+
+ public function testGetAccessList() {
+ $userManager = \OC::$server->getUserManager();
+ $rootFolder = \OC::$server->getRootFolder();
+
+ $u1 = $userManager->createUser('testFed', md5(time()));
+
+ $folder1 = $rootFolder->getUserFolder($u1->getUID())->newFolder('foo');
+ $file1 = $folder1->newFile('bar1');
+
+ $this->tokenHandler->expects($this->exactly(2))
+ ->method('generateToken')
+ ->willReturnOnConsecutiveCalls('token1', 'token2');
+ $this->notifications->expects($this->atLeastOnce())
+ ->method('sendRemoteShare')
+ ->willReturn(true);
+
+ $result = $this->provider->getAccessList([$file1], true);
+ $this->assertEquals(['remote' => []], $result);
+
+ $result = $this->provider->getAccessList([$file1], false);
+ $this->assertEquals(['remote' => false], $result);
+
+ $share1 = $this->shareManager->newShare();
+ $share1->setSharedWith('user@server.com')
+ ->setSharedBy($u1->getUID())
+ ->setShareOwner($u1->getUID())
+ ->setPermissions(\OCP\Constants::PERMISSION_READ)
+ ->setNode($file1);
+ $this->provider->create($share1);
+
+ $share2 = $this->shareManager->newShare();
+ $share2->setSharedWith('foobar@localhost')
+ ->setSharedBy($u1->getUID())
+ ->setShareOwner($u1->getUID())
+ ->setPermissions(\OCP\Constants::PERMISSION_READ)
+ ->setNode($file1);
+ $this->provider->create($share2);
+
+ $result = $this->provider->getAccessList([$file1], true);
+ $this->assertEquals(['remote' => [
+ 'user@server.com' => [
+ 'token' => 'token1',
+ 'node_id' => $file1->getId(),
+ ],
+ 'foobar@localhost' => [
+ 'token' => 'token2',
+ 'node_id' => $file1->getId(),
+ ],
+ ]], $result);
+
+ $result = $this->provider->getAccessList([$file1], false);
+ $this->assertEquals(['remote' => true], $result);
+
+ $u1->delete();
+ }
}