Merge pull request #23953 from owncloud/small_share_manager_fix
set $share to null if getShareByToken() failed
This commit is contained in:
commit
c0a6619f47
|
@ -979,7 +979,7 @@ class Manager implements IManager {
|
|||
try {
|
||||
$share = $provider->getShareByToken($token);
|
||||
} catch (ShareNotFound $e) {
|
||||
//Ignore
|
||||
$share = null;
|
||||
}
|
||||
|
||||
// If it is not a link share try to fetch a federated share by token
|
||||
|
|
|
@ -2042,6 +2042,46 @@ class ManagerTest extends \Test\TestCase {
|
|||
$this->assertSame($share, $ret);
|
||||
}
|
||||
|
||||
public function testGetShareByTokenWithException() {
|
||||
$factory = $this->getMock('\OCP\Share\IProviderFactory');
|
||||
|
||||
$manager = new Manager(
|
||||
$this->logger,
|
||||
$this->config,
|
||||
$this->secureRandom,
|
||||
$this->hasher,
|
||||
$this->mountManager,
|
||||
$this->groupManager,
|
||||
$this->l,
|
||||
$factory,
|
||||
$this->userManager,
|
||||
$this->rootFolder
|
||||
);
|
||||
|
||||
$share = $this->getMock('\OCP\Share\IShare');
|
||||
|
||||
$factory->expects($this->at(0))
|
||||
->method('getProviderForType')
|
||||
->with(\OCP\Share::SHARE_TYPE_LINK)
|
||||
->willReturn($this->defaultProvider);
|
||||
$factory->expects($this->at(1))
|
||||
->method('getProviderForType')
|
||||
->with(\OCP\Share::SHARE_TYPE_REMOTE)
|
||||
->willReturn($this->defaultProvider);
|
||||
|
||||
$this->defaultProvider->expects($this->at(0))
|
||||
->method('getShareByToken')
|
||||
->with('token')
|
||||
->will($this->throwException(new ShareNotFound()));
|
||||
$this->defaultProvider->expects($this->at(1))
|
||||
->method('getShareByToken')
|
||||
->with('token')
|
||||
->willReturn($share);
|
||||
|
||||
$ret = $manager->getShareByToken('token');
|
||||
$this->assertSame($share, $ret);
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException \OCP\Share\Exceptions\ShareNotFound
|
||||
*/
|
||||
|
|
Loading…
Reference in New Issue