[Share 2.0] Add exceptions to OCP
This commit is contained in:
parent
ce053b9808
commit
4d7130ad31
10 changed files with 51 additions and 15 deletions
|
@ -148,7 +148,7 @@ class Share20OCS {
|
||||||
// First check if it is an internal share.
|
// First check if it is an internal share.
|
||||||
try {
|
try {
|
||||||
$share = $this->shareManager->getShareById('ocinternal:'.$id);
|
$share = $this->shareManager->getShareById('ocinternal:'.$id);
|
||||||
} catch (\OC\Share20\Exception\ShareNotFound $e) {
|
} catch (\OCP\Share\Exceptions\ShareNotFound $e) {
|
||||||
// Ignore for now
|
// Ignore for now
|
||||||
//return new \OC_OCS_Result(null, 404, 'wrong share ID, share doesn\'t exist.');
|
//return new \OC_OCS_Result(null, 404, 'wrong share ID, share doesn\'t exist.');
|
||||||
}
|
}
|
||||||
|
@ -178,7 +178,7 @@ class Share20OCS {
|
||||||
|
|
||||||
try {
|
try {
|
||||||
$share = $this->shareManager->getShareById('ocinternal:' . $id);
|
$share = $this->shareManager->getShareById('ocinternal:' . $id);
|
||||||
} catch (\OC\Share20\Exception\ShareNotFound $e) {
|
} catch (\OCP\Share\Exceptions\ShareNotFound $e) {
|
||||||
//Ignore for now
|
//Ignore for now
|
||||||
//return new \OC_OCS_Result(null, 404, 'wrong share ID, share doesn\'t exist.');
|
//return new \OC_OCS_Result(null, 404, 'wrong share ID, share doesn\'t exist.');
|
||||||
}
|
}
|
||||||
|
@ -443,7 +443,7 @@ class Share20OCS {
|
||||||
|
|
||||||
try {
|
try {
|
||||||
$share = $this->shareManager->getShareById('ocinternal:' . $id);
|
$share = $this->shareManager->getShareById('ocinternal:' . $id);
|
||||||
} catch (\OC\Share20\Exception\ShareNotFound $e) {
|
} catch (\OCP\Share\Exceptions\ShareNotFound $e) {
|
||||||
//Ignore for now
|
//Ignore for now
|
||||||
//return new \OC_OCS_Result(null, 404, 'wrong share ID, share doesn\'t exist.');
|
//return new \OC_OCS_Result(null, 404, 'wrong share ID, share doesn\'t exist.');
|
||||||
}
|
}
|
||||||
|
|
|
@ -52,6 +52,7 @@ use OCP\Util;
|
||||||
use OCA\Files_Sharing\Activity;
|
use OCA\Files_Sharing\Activity;
|
||||||
use \OCP\Files\NotFoundException;
|
use \OCP\Files\NotFoundException;
|
||||||
use OCP\Files\IRootFolder;
|
use OCP\Files\IRootFolder;
|
||||||
|
use OCP\Share\Exceptions\ShareNotFound;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class ShareController
|
* Class ShareController
|
||||||
|
@ -147,7 +148,7 @@ class ShareController extends Controller {
|
||||||
// Check whether share exists
|
// Check whether share exists
|
||||||
try {
|
try {
|
||||||
$share = $this->shareManager->getShareByToken($token);
|
$share = $this->shareManager->getShareByToken($token);
|
||||||
} catch (\OC\Share20\Exception\ShareNotFound $e) {
|
} catch (ShareNotFound $e) {
|
||||||
return new NotFoundResponse();
|
return new NotFoundResponse();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -203,7 +204,7 @@ class ShareController extends Controller {
|
||||||
// Check whether share exists
|
// Check whether share exists
|
||||||
try {
|
try {
|
||||||
$share = $this->shareManager->getShareByToken($token);
|
$share = $this->shareManager->getShareByToken($token);
|
||||||
} catch (\OC\Share20\Exception\ShareNotFound $e) {
|
} catch (ShareNotFound $e) {
|
||||||
return new NotFoundResponse();
|
return new NotFoundResponse();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -96,7 +96,7 @@ class Share20OCSTest extends \Test\TestCase {
|
||||||
->expects($this->once())
|
->expects($this->once())
|
||||||
->method('getShareById')
|
->method('getShareById')
|
||||||
->with('ocinternal:42')
|
->with('ocinternal:42')
|
||||||
->will($this->throwException(new \OC\Share20\Exception\ShareNotFound()));
|
->will($this->throwException(new \OCP\Share\Exceptions\ShareNotFound()));
|
||||||
|
|
||||||
$expected = new \OC_OCS_Result(null, 404, 'wrong share ID, share doesn\'t exist.');
|
$expected = new \OC_OCS_Result(null, 404, 'wrong share ID, share doesn\'t exist.');
|
||||||
$this->assertEquals($expected, $this->ocs->deleteShare(42));
|
$this->assertEquals($expected, $this->ocs->deleteShare(42));
|
||||||
|
|
|
@ -30,7 +30,7 @@
|
||||||
namespace OCA\Files_Sharing\Controllers;
|
namespace OCA\Files_Sharing\Controllers;
|
||||||
|
|
||||||
use OC\Files\Filesystem;
|
use OC\Files\Filesystem;
|
||||||
use OC\Share20\Exception\ShareNotFound;
|
use OCP\Share\Exceptions\ShareNotFound;
|
||||||
use OCP\AppFramework\Http\NotFoundResponse;
|
use OCP\AppFramework\Http\NotFoundResponse;
|
||||||
use OCP\AppFramework\Http\RedirectResponse;
|
use OCP\AppFramework\Http\RedirectResponse;
|
||||||
use OCP\AppFramework\Http\TemplateResponse;
|
use OCP\AppFramework\Http\TemplateResponse;
|
||||||
|
@ -175,7 +175,7 @@ class ShareControllerTest extends \Test\TestCase {
|
||||||
->expects($this->once())
|
->expects($this->once())
|
||||||
->method('getShareByToken')
|
->method('getShareByToken')
|
||||||
->with('token')
|
->with('token')
|
||||||
->will($this->throwException(new \OC\Share20\Exception\ShareNotFound()));
|
->will($this->throwException(new \OCP\Share\Exceptions\ShareNotFound()));
|
||||||
|
|
||||||
$response = $this->shareController->authenticate('token');
|
$response = $this->shareController->authenticate('token');
|
||||||
$expectedResponse = new NotFoundResponse();
|
$expectedResponse = new NotFoundResponse();
|
||||||
|
|
|
@ -24,7 +24,7 @@ use OCP\Files\File;
|
||||||
use OCP\Share\IShareProvider;
|
use OCP\Share\IShareProvider;
|
||||||
use OC\Share20\Exception\InvalidShare;
|
use OC\Share20\Exception\InvalidShare;
|
||||||
use OC\Share20\Exception\ProviderException;
|
use OC\Share20\Exception\ProviderException;
|
||||||
use OC\Share20\Exception\ShareNotFound;
|
use OCP\Share\Exceptions\ShareNotFound;
|
||||||
use OC\Share20\Exception\BackendError;
|
use OC\Share20\Exception\BackendError;
|
||||||
use OCP\DB\QueryBuilder\IQueryBuilder;
|
use OCP\DB\QueryBuilder\IQueryBuilder;
|
||||||
use OCP\Files\NotFoundException;
|
use OCP\Files\NotFoundException;
|
||||||
|
|
|
@ -36,7 +36,7 @@ use OCP\Files\File;
|
||||||
use OCP\Files\Folder;
|
use OCP\Files\Folder;
|
||||||
use OCP\IUser;
|
use OCP\IUser;
|
||||||
|
|
||||||
use OC\Share20\Exception\ShareNotFound;
|
use OCP\Share\Exceptions\ShareNotFound;
|
||||||
use OC\HintException;
|
use OC\HintException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
28
lib/public/share/exceptions/genericshareexception.php
Normal file
28
lib/public/share/exceptions/genericshareexception.php
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace OCP\Share\Exceptions;
|
||||||
|
use OC\HintException;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Class GenericEncryptionException
|
||||||
|
*
|
||||||
|
* @package OCP\Share\Exceptions
|
||||||
|
* @since 9.0.0
|
||||||
|
*/
|
||||||
|
class GenericShareException extends HintException {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param string $message
|
||||||
|
* @param string $hint
|
||||||
|
* @param int $code
|
||||||
|
* @param \Exception $previous
|
||||||
|
* @since 9.0.0
|
||||||
|
*/
|
||||||
|
public function __construct($message = '', $hint = '', $code = 0, \Exception $previous = null) {
|
||||||
|
if (empty($message)) {
|
||||||
|
$message = 'Unspecified share exception';
|
||||||
|
}
|
||||||
|
parent::__construct($message, $hint, $code, $previous);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -18,8 +18,15 @@
|
||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>
|
* along with this program. If not, see <http://www.gnu.org/licenses/>
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
namespace OC\Share20\Exception;
|
|
||||||
|
|
||||||
class ShareNotFound extends \Exception {
|
namespace OCP\Share\Exceptions;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Class ShareNotFound
|
||||||
|
*
|
||||||
|
* @package OCP\Share\Exceptions
|
||||||
|
* @since 9.0.0
|
||||||
|
*/
|
||||||
|
class ShareNotFound extends GenericShareException {
|
||||||
|
|
||||||
}
|
}
|
|
@ -110,7 +110,7 @@ class DefaultShareProviderTest extends \Test\TestCase {
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @expectedException \OC\Share20\Exception\ShareNotFound
|
* @expectedException \OCP\Share\Exceptions\ShareNotFound
|
||||||
*/
|
*/
|
||||||
public function testGetShareByIdNotExist() {
|
public function testGetShareByIdNotExist() {
|
||||||
$this->provider->getShareById(1);
|
$this->provider->getShareById(1);
|
||||||
|
@ -809,7 +809,7 @@ class DefaultShareProviderTest extends \Test\TestCase {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @expectedException \OC\Share20\Exception\ShareNotFound
|
* @expectedException \OCP\Share\Exceptions\ShareNotFound
|
||||||
*/
|
*/
|
||||||
public function testGetShareByTokenNotFound() {
|
public function testGetShareByTokenNotFound() {
|
||||||
$this->provider->getShareByToken('invalidtoken');
|
$this->provider->getShareByToken('invalidtoken');
|
||||||
|
|
|
@ -129,7 +129,7 @@ class ManagerTest extends \Test\TestCase {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @expectedException \OC\Share20\Exception\ShareNotFound
|
* @expectedException \OCP\Share\Exceptions\ShareNotFound
|
||||||
*/
|
*/
|
||||||
public function testDeleteNoShareId() {
|
public function testDeleteNoShareId() {
|
||||||
$share = $this->getMock('\OCP\Share\IShare');
|
$share = $this->getMock('\OCP\Share\IShare');
|
||||||
|
|
Loading…
Reference in a new issue