summaryrefslogtreecommitdiffstats
path: root/apps
diff options
context:
space:
mode:
Diffstat (limited to 'apps')
-rw-r--r--apps/dav/lib/connector/sabre/filesplugin.php11
-rw-r--r--apps/dav/lib/systemtag/systemtagsbyidcollection.php14
-rw-r--r--apps/dav/lib/systemtag/systemtagsobjecttypecollection.php17
-rw-r--r--apps/dav/tests/unit/connector/sabre/filesplugin.php25
-rw-r--r--apps/dav/tests/unit/systemtag/systemtagmappingnode.php4
-rw-r--r--apps/dav/tests/unit/systemtag/systemtagsbyidcollection.php1
-rw-r--r--apps/dav/tests/unit/systemtag/systemtagsobjectmappingcollection.php1
-rw-r--r--apps/files/tests/backgroundjob/ScanFilesTest.php1
-rw-r--r--apps/files_external/lib/personalmount.php2
-rw-r--r--apps/files_external/service/storagesservice.php3
-rw-r--r--apps/files_external/service/userglobalstoragesservice.php3
-rw-r--r--apps/files_external/tests/service/globalstoragesservicetest.php1
12 files changed, 71 insertions, 12 deletions
diff --git a/apps/dav/lib/connector/sabre/filesplugin.php b/apps/dav/lib/connector/sabre/filesplugin.php
index 1c78e9dc845..aa756281745 100644
--- a/apps/dav/lib/connector/sabre/filesplugin.php
+++ b/apps/dav/lib/connector/sabre/filesplugin.php
@@ -31,6 +31,7 @@ use \Sabre\DAV\PropFind;
use \Sabre\DAV\PropPatch;
use \Sabre\HTTP\RequestInterface;
use \Sabre\HTTP\ResponseInterface;
+use OCP\Files\StorageNotAvailableException;
class FilesPlugin extends \Sabre\DAV\ServerPlugin {
@@ -225,9 +226,13 @@ class FilesPlugin extends \Sabre\DAV\ServerPlugin {
if ($node instanceof \OCA\DAV\Connector\Sabre\File) {
$propFind->handle(self::DOWNLOADURL_PROPERTYNAME, function() use ($node) {
/** @var $node \OCA\DAV\Connector\Sabre\File */
- $directDownloadUrl = $node->getDirectDownload();
- if (isset($directDownloadUrl['url'])) {
- return $directDownloadUrl['url'];
+ try {
+ $directDownloadUrl = $node->getDirectDownload();
+ if (isset($directDownloadUrl['url'])) {
+ return $directDownloadUrl['url'];
+ }
+ } catch (StorageNotAvailableException $e) {
+ return false;
}
return false;
});
diff --git a/apps/dav/lib/systemtag/systemtagsbyidcollection.php b/apps/dav/lib/systemtag/systemtagsbyidcollection.php
index e7b7b6d0acc..974d04efa5f 100644
--- a/apps/dav/lib/systemtag/systemtagsbyidcollection.php
+++ b/apps/dav/lib/systemtag/systemtagsbyidcollection.php
@@ -46,14 +46,25 @@ class SystemTagsByIdCollection implements ICollection {
$this->tagManager = $tagManager;
}
+ /**
+ * @param string $name
+ * @param resource|string $data Initial payload
+ * @throws Forbidden
+ */
function createFile($name, $data = null) {
throw new Forbidden('Cannot create tags by id');
}
+ /**
+ * @param string $name
+ */
function createDirectory($name) {
throw new Forbidden('Permission denied to create collections');
}
+ /**
+ * @param string $name
+ */
function getChild($name) {
try {
$tags = $this->tagManager->getTagsByIds([$name]);
@@ -72,6 +83,9 @@ class SystemTagsByIdCollection implements ICollection {
}, $tags);
}
+ /**
+ * @param string $name
+ */
function childExists($name) {
try {
$this->tagManager->getTagsByIds([$name]);
diff --git a/apps/dav/lib/systemtag/systemtagsobjecttypecollection.php b/apps/dav/lib/systemtag/systemtagsobjecttypecollection.php
index e544073613f..2a28b9c83aa 100644
--- a/apps/dav/lib/systemtag/systemtagsobjecttypecollection.php
+++ b/apps/dav/lib/systemtag/systemtagsobjecttypecollection.php
@@ -61,14 +61,25 @@ class SystemTagsObjectTypeCollection implements ICollection {
$this->objectType = $objectType;
}
+ /**
+ * @param string $name
+ * @param resource|string $data Initial payload
+ * @throws Forbidden
+ */
function createFile($name, $data = null) {
throw new Forbidden('Permission denied to create nodes');
}
+ /**
+ * @param string $name
+ */
function createDirectory($name) {
throw new Forbidden('Permission denied to create collections');
}
+ /**
+ * @param string $objectId
+ */
function getChild($objectId) {
return new SystemTagsObjectMappingCollection(
$objectId,
@@ -83,6 +94,9 @@ class SystemTagsObjectTypeCollection implements ICollection {
throw new MethodNotAllowed();
}
+ /**
+ * @param string $name
+ */
function childExists($name) {
return true;
}
@@ -95,6 +109,9 @@ class SystemTagsObjectTypeCollection implements ICollection {
return $this->objectType;
}
+ /**
+ * @param string $name
+ */
function setName($name) {
throw new Forbidden('Permission denied to rename this collection');
}
diff --git a/apps/dav/tests/unit/connector/sabre/filesplugin.php b/apps/dav/tests/unit/connector/sabre/filesplugin.php
index b33c8340f72..642fc3258cd 100644
--- a/apps/dav/tests/unit/connector/sabre/filesplugin.php
+++ b/apps/dav/tests/unit/connector/sabre/filesplugin.php
@@ -2,6 +2,8 @@
namespace OCA\DAV\Tests\Unit\Connector\Sabre;
+use OCP\Files\StorageNotAvailableException;
+
/**
* Copyright (c) 2015 Vincent Petry <pvince81@owncloud.com>
* This file is licensed under the Affero General Public License version 3 or
@@ -143,6 +145,29 @@ class FilesPlugin extends \Test\TestCase {
$this->assertEquals(array(self::SIZE_PROPERTYNAME), $propFind->get404Properties());
}
+ public function testGetPropertiesStorageNotAvailable() {
+ $node = $this->createTestNode('\OCA\DAV\Connector\Sabre\File');
+
+ $propFind = new \Sabre\DAV\PropFind(
+ '/dummyPath',
+ array(
+ self::DOWNLOADURL_PROPERTYNAME,
+ ),
+ 0
+ );
+
+ $node->expects($this->once())
+ ->method('getDirectDownload')
+ ->will($this->throwException(new StorageNotAvailableException()));
+
+ $this->plugin->handleGetProperties(
+ $propFind,
+ $node
+ );
+
+ $this->assertEquals(null, $propFind->get(self::DOWNLOADURL_PROPERTYNAME));
+ }
+
public function testGetPublicPermissions() {
$this->plugin = new \OCA\DAV\Connector\Sabre\FilesPlugin($this->tree, $this->view, true);
$this->plugin->initialize($this->server);
diff --git a/apps/dav/tests/unit/systemtag/systemtagmappingnode.php b/apps/dav/tests/unit/systemtag/systemtagmappingnode.php
index 849f7c2fa54..aef62a1acb2 100644
--- a/apps/dav/tests/unit/systemtag/systemtagmappingnode.php
+++ b/apps/dav/tests/unit/systemtag/systemtagmappingnode.php
@@ -9,12 +9,8 @@
namespace OCA\DAV\Tests\Unit\SystemTag;
use Sabre\DAV\Exception\NotFound;
-use Sabre\DAV\Exception\MethodNotAllowed;
-use Sabre\DAV\Exception\Conflict;
-
use OC\SystemTag\SystemTag;
use OCP\SystemTag\TagNotFoundException;
-use OCP\SystemTag\TagAlreadyExistsException;
class SystemTagMappingNode extends SystemTagNode {
diff --git a/apps/dav/tests/unit/systemtag/systemtagsbyidcollection.php b/apps/dav/tests/unit/systemtag/systemtagsbyidcollection.php
index 104ce366034..fa9e42d04f9 100644
--- a/apps/dav/tests/unit/systemtag/systemtagsbyidcollection.php
+++ b/apps/dav/tests/unit/systemtag/systemtagsbyidcollection.php
@@ -11,7 +11,6 @@ namespace OCA\DAV\Tests\Unit\SystemTag;
use OC\SystemTag\SystemTag;
use OCP\SystemTag\TagNotFoundException;
-use OCP\SystemTag\TagAlreadyExistsException;
class SystemTagsByIdCollection extends \Test\TestCase {
diff --git a/apps/dav/tests/unit/systemtag/systemtagsobjectmappingcollection.php b/apps/dav/tests/unit/systemtag/systemtagsobjectmappingcollection.php
index 6e15bb78e7c..a9b34f5ae19 100644
--- a/apps/dav/tests/unit/systemtag/systemtagsobjectmappingcollection.php
+++ b/apps/dav/tests/unit/systemtag/systemtagsobjectmappingcollection.php
@@ -11,7 +11,6 @@ namespace OCA\DAV\Tests\Unit\SystemTag;
use OC\SystemTag\SystemTag;
use OCP\SystemTag\TagNotFoundException;
-use OCP\SystemTag\TagAlreadyExistsException;
class SystemTagsObjectMappingCollection extends \Test\TestCase {
diff --git a/apps/files/tests/backgroundjob/ScanFilesTest.php b/apps/files/tests/backgroundjob/ScanFilesTest.php
index 907cad64f9e..087696f0cfc 100644
--- a/apps/files/tests/backgroundjob/ScanFilesTest.php
+++ b/apps/files/tests/backgroundjob/ScanFilesTest.php
@@ -24,7 +24,6 @@ use Test\TestCase;
use OCP\IConfig;
use OCP\IUserManager;
use OCA\Files\BackgroundJob\ScanFiles;
-use OCP\ILogger;
/**
* Class ScanFilesTest
diff --git a/apps/files_external/lib/personalmount.php b/apps/files_external/lib/personalmount.php
index f81dee5be1e..34ae516ea5e 100644
--- a/apps/files_external/lib/personalmount.php
+++ b/apps/files_external/lib/personalmount.php
@@ -40,7 +40,7 @@ class PersonalMount extends MountPoint implements MoveableMount {
/**
* @param UserStoragesService $storagesService
* @param int $storageId
- * @param string|\OC\Files\Storage\Storage $storage
+ * @param \OCP\Files\Storage $storage
* @param string $mountpoint
* @param array $arguments (optional) configuration for the storage backend
* @param \OCP\Files\Storage\IStorageFactory $loader
diff --git a/apps/files_external/service/storagesservice.php b/apps/files_external/service/storagesservice.php
index 9be6498435c..97f79c13324 100644
--- a/apps/files_external/service/storagesservice.php
+++ b/apps/files_external/service/storagesservice.php
@@ -185,6 +185,9 @@ abstract class StoragesService {
*/
abstract public function getVisibilityType();
+ /**
+ * @return integer
+ */
protected function getType() {
return DBConfigService::MOUNT_TYPE_ADMIN;
}
diff --git a/apps/files_external/service/userglobalstoragesservice.php b/apps/files_external/service/userglobalstoragesservice.php
index cb49f0f6726..e58815f8a79 100644
--- a/apps/files_external/service/userglobalstoragesservice.php
+++ b/apps/files_external/service/userglobalstoragesservice.php
@@ -89,6 +89,9 @@ class UserGlobalStoragesService extends GlobalStoragesService {
throw new \DomainException('UserGlobalStoragesService writing disallowed');
}
+ /**
+ * @param integer $id
+ */
public function removeStorage($id) {
throw new \DomainException('UserGlobalStoragesService writing disallowed');
}
diff --git a/apps/files_external/tests/service/globalstoragesservicetest.php b/apps/files_external/tests/service/globalstoragesservicetest.php
index 7c77616563c..e620b05a51e 100644
--- a/apps/files_external/tests/service/globalstoragesservicetest.php
+++ b/apps/files_external/tests/service/globalstoragesservicetest.php
@@ -23,7 +23,6 @@ namespace OCA\Files_external\Tests\Service;
use \OC\Files\Filesystem;
-use OCA\Files_External\Service\DBConfigService;
use \OCA\Files_external\Service\GlobalStoragesService;
use \OCA\Files_external\NotFoundException;
use \OCA\Files_external\Lib\StorageConfig;