[Share 2.0] Add exceptions to OCP

This commit is contained in:
Roeland Jago Douma 2016-02-02 14:07:11 +01:00
parent ce053b9808
commit 4d7130ad31
10 changed files with 51 additions and 15 deletions

View file

@ -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.');
} }

View file

@ -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();
} }

View file

@ -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));

View file

@ -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();

View file

@ -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;

View file

@ -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;
/** /**

View 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);
}
}

View file

@ -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 {
} }

View file

@ -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');

View file

@ -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');