From 118c9d58fe44788bb2b0b684ac1209c23f847ff6 Mon Sep 17 00:00:00 2001 From: Vincent Petry Date: Tue, 6 Sep 2016 12:57:14 +0200 Subject: [PATCH] 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". --- apps/files_sharing/lib/External/Storage.php | 2 +- .../tests/ExternalStorageTest.php | 28 +++++++++++++++---- 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 1ed6375cd4..caa2bcf2a7 100644 --- a/apps/files_sharing/lib/External/Storage.php +++ b/apps/files_sharing/lib/External/Storage.php @@ -186,7 +186,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 48c348667c..e84d2bb0e1 100644 --- a/apps/files_sharing/tests/ExternalStorageTest.php +++ b/apps/files_sharing/tests/ExternalStorageTest.php @@ -67,14 +67,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', @@ -83,8 +80,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); + } } /** @@ -95,4 +104,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); + } }