summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVincent Petry <pvince81@owncloud.com>2016-09-06 12:57:14 +0200
committerVincent Petry <pvince81@owncloud.com>2016-09-07 07:31:18 +0200
commit4f0d8d49437abc7571a6a4ff78641f1ae9f044b3 (patch)
treec9d7f514f39480da3ec0b7b95f1f68bc5d6fe28a
parentfaa6c45089ecac36a7960a2fec7882a4a531c12b (diff)
downloadnextcloud-server-4f0d8d49437abc7571a6a4ff78641f1ae9f044b3.tar.gz
nextcloud-server-4f0d8d49437abc7571a6a4ff78641f1ae9f044b3.zip
Fix fed share test call to return proper result
Fixes an issue where retrying a previously failed federated share would not properly reset the availability flag because the return value was undefined instead of "true".
-rw-r--r--apps/files_sharing/lib/External/Storage.php2
-rw-r--r--apps/files_sharing/tests/ExternalStorageTest.php28
2 files changed, 23 insertions, 7 deletions
diff --git a/apps/files_sharing/lib/External/Storage.php b/apps/files_sharing/lib/External/Storage.php
index bc8d898f8ef..2344f6cf132 100644
--- a/apps/files_sharing/lib/External/Storage.php
+++ b/apps/files_sharing/lib/External/Storage.php
@@ -184,7 +184,7 @@ class Storage extends DAV implements ISharedStorage {
public function test() {
try {
- parent::test();
+ return parent::test();
} catch (StorageInvalidException $e) {
// check if it needs to be removed
$this->checkStorageAvailability();
diff --git a/apps/files_sharing/tests/ExternalStorageTest.php b/apps/files_sharing/tests/ExternalStorageTest.php
index c5ff4ad0236..af8cde10042 100644
--- a/apps/files_sharing/tests/ExternalStorageTest.php
+++ b/apps/files_sharing/tests/ExternalStorageTest.php
@@ -66,14 +66,11 @@ class ExternalStorageTest extends \Test\TestCase {
);
}
- /**
- * @dataProvider optionsProvider
- */
- public function testStorageMountOptions($inputUri, $baseUri) {
+ private function getTestStorage($uri) {
$certificateManager = \OC::$server->getCertificateManager();
- $storage = new TestSharingExternalStorage(
+ return new TestSharingExternalStorage(
array(
- 'remote' => $inputUri,
+ 'remote' => $uri,
'owner' => 'testOwner',
'mountpoint' => 'remoteshare',
'token' => 'abcdef',
@@ -82,8 +79,20 @@ class ExternalStorageTest extends \Test\TestCase {
'certificateManager' => $certificateManager
)
);
+ }
+
+ /**
+ * @dataProvider optionsProvider
+ */
+ public function testStorageMountOptions($inputUri, $baseUri) {
+ $storage = $this->getTestStorage($inputUri);
$this->assertEquals($baseUri, $storage->getBaseUri());
}
+
+ public function testIfTestReturnsTheValue() {
+ $result = $this->getTestStorage('https://remoteserver')->test();
+ $this->assertSame(true, $result);
+ }
}
/**
@@ -94,4 +103,11 @@ class TestSharingExternalStorage extends \OCA\Files_Sharing\External\Storage {
public function getBaseUri() {
return $this->createBaseUri();
}
+
+ public function stat($path) {
+ if ($path === '') {
+ return true;
+ }
+ return parent::stat($path);
+ }
}