public function testGetShareByToken() { $factory = $this->getMock('\\OC\\Share20\\IProviderFactory'); $manager = new Manager($this->logger, $this->config, $this->secureRandom, $this->hasher, $this->mountManager, $this->groupManager, $this->l, $factory); $share = $this->getMock('\\OC\\Share20\\IShare'); $factory->expects($this->once())->method('getProviderForType')->with(\OCP\Share::SHARE_TYPE_LINK)->willReturn($this->defaultProvider); $this->defaultProvider->expects($this->once())->method('getShareByToken')->with('token')->willReturn($share); $ret = $manager->getShareByToken('token'); $this->assertSame($share, $ret); }
public function testCreateShareLink() { $manager = $this->createManagerMock()->setMethods(['canShare', 'generalCreateChecks', 'linkCreateChecks', 'pathCreateChecks', 'validateExpiredate', 'verifyPassword'])->getMock(); $sharedBy = $this->getMock('\\OCP\\IUser'); $sharedBy->method('getUID')->willReturn('sharedBy'); $shareOwner = $this->getMock('\\OCP\\IUser'); $path = $this->getMock('\\OCP\\Files\\File'); $path->method('getOwner')->willReturn($shareOwner); $path->method('getName')->willReturn('target'); $path->method('getId')->willReturn(1); $date = new \DateTime(); $share = $this->createShare(null, \OCP\Share::SHARE_TYPE_LINK, $path, null, $sharedBy, null, \OCP\Constants::PERMISSION_ALL, $date, 'password'); $manager->expects($this->once())->method('canShare')->with($share)->willReturn(true); $manager->expects($this->once())->method('generalCreateChecks')->with($share); $manager->expects($this->once())->method('linkCreateChecks')->with($share); $manager->expects($this->once())->method('pathCreateChecks')->with($path); $manager->expects($this->once())->method('validateExpiredate')->with($date)->will($this->returnArgument(0)); $manager->expects($this->once())->method('verifyPassword')->with('password'); $this->hasher->expects($this->once())->method('hash')->with('password')->willReturn('hashed'); $this->secureRandom->method('getMediumStrengthGenerator')->will($this->returnSelf()); $this->secureRandom->method('generate')->willReturn('token'); $this->defaultProvider->expects($this->once())->method('create')->with($share)->will($this->returnArgument(0)); $share->expects($this->once())->method('setShareOwner')->with($shareOwner); $share->expects($this->once())->method('setTarget')->with('/target'); $share->method('getTarget')->willReturn('/target'); $share->expects($this->once())->method('setExpirationDate')->with($date); $share->expects($this->once())->method('setPassword')->with('hashed'); $share->method('getToken')->willReturn('token'); $hookListner = $this->getMockBuilder('Dummy')->setMethods(['pre', 'post'])->getMock(); \OCP\Util::connectHook('OCP\\Share', 'pre_shared', $hookListner, 'pre'); \OCP\Util::connectHook('OCP\\Share', 'post_shared', $hookListner, 'post'); $hookListnerExpectsPre = ['itemType' => 'file', 'itemSource' => 1, 'shareType' => \OCP\Share::SHARE_TYPE_LINK, 'uidOwner' => 'sharedBy', 'permissions' => 31, 'fileSource' => 1, 'expiration' => $date, 'token' => 'token', 'run' => true, 'error' => '', 'itemTarget' => '/target', 'shareWith' => null]; $hookListnerExpectsPost = ['itemType' => 'file', 'itemSource' => 1, 'shareType' => \OCP\Share::SHARE_TYPE_LINK, 'uidOwner' => 'sharedBy', 'permissions' => 31, 'fileSource' => 1, 'expiration' => $date, 'token' => 'token', 'id' => 42, 'itemTarget' => '/target', 'fileTarget' => '/target', 'shareWith' => null]; $share->method('getId')->willReturn(42); $hookListner->expects($this->once())->method('pre')->with($this->equalTo($hookListnerExpectsPre)); $hookListner->expects($this->once())->method('post')->with($this->equalTo($hookListnerExpectsPost)); $manager->createShare($share); }
public function testGetShareById() { $share = $this->getMock('\\OC\\Share20\\IShare'); $this->defaultProvider->expects($this->once())->method('getShareById')->with(42)->willReturn($share); $this->assertEquals($share, $this->manager->getShareById(42)); }