diff options
Diffstat (limited to 'apps/files_sharing/tests/ExternalStorageTest.php')
-rw-r--r-- | apps/files_sharing/tests/ExternalStorageTest.php | 87 |
1 files changed, 34 insertions, 53 deletions
diff --git a/apps/files_sharing/tests/ExternalStorageTest.php b/apps/files_sharing/tests/ExternalStorageTest.php index f7345d25e08..1d9d2eed7bd 100644 --- a/apps/files_sharing/tests/ExternalStorageTest.php +++ b/apps/files_sharing/tests/ExternalStorageTest.php @@ -1,32 +1,15 @@ <?php + /** - * @copyright Copyright (c) 2016, ownCloud, Inc. - * - * @author Joas Schilling <coding@schilljs.com> - * @author Lukas Reschke <lukas@statuscode.ch> - * @author Morris Jobke <hey@morrisjobke.de> - * @author Robin Appelman <robin@icewind.nl> - * @author Thomas Müller <thomas.mueller@tmit.eu> - * @author Vincent Petry <pvince81@owncloud.com> - * - * @license AGPL-3.0 - * - * This code is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License, version 3, - * as published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License, version 3, - * along with this program. If not, see <http://www.gnu.org/licenses/> - * + * SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors + * SPDX-FileCopyrightText: 2016 ownCloud, Inc. + * SPDX-License-Identifier: AGPL-3.0-only */ - namespace OCA\Files_Sharing\Tests; + use OC\Federation\CloudId; +use OCA\Files_Sharing\External\Manager as ExternalShareManager; +use OCA\Files_Sharing\External\Storage; use OCP\Http\Client\IClient; use OCP\Http\Client\IClientService; use OCP\Http\Client\IResponse; @@ -37,44 +20,44 @@ use OCP\Http\Client\IResponse; * @group DB */ class ExternalStorageTest extends \Test\TestCase { - - function optionsProvider() { - return array( - array( + public static function optionsProvider() { + return [ + [ 'http://remoteserver:8080/owncloud', 'http://remoteserver:8080/owncloud/public.php/webdav/', - ), + ], // extra slash - array( + [ 'http://remoteserver:8080/owncloud/', 'http://remoteserver:8080/owncloud/public.php/webdav/', - ), + ], // extra path - array( + [ 'http://remoteserver:8080/myservices/owncloud/', 'http://remoteserver:8080/myservices/owncloud/public.php/webdav/', - ), + ], // root path - array( + [ 'http://remoteserver:8080/', 'http://remoteserver:8080/public.php/webdav/', - ), + ], // without port - array( + [ 'http://remoteserver/oc.test', 'http://remoteserver/oc.test/public.php/webdav/', - ), + ], // https - array( + [ 'https://remoteserver/', 'https://remoteserver/public.php/webdav/', - ), - ); + ], + ]; } private function getTestStorage($uri) { $certificateManager = \OC::$server->getCertificateManager(); $httpClientService = $this->createMock(IClientService::class); + $manager = $this->createMock(ExternalShareManager::class); $client = $this->createMock(IClient::class); $response = $this->createMock(IResponse::class); $client @@ -91,30 +74,29 @@ class ExternalStorageTest extends \Test\TestCase { ->willReturn($client); return new TestSharingExternalStorage( - array( + [ 'cloudId' => new CloudId('testOwner@' . $uri, 'testOwner', $uri), 'remote' => $uri, 'owner' => 'testOwner', 'mountpoint' => 'remoteshare', 'token' => 'abcdef', 'password' => '', - 'manager' => null, + 'manager' => $manager, 'certificateManager' => $certificateManager, 'HttpClientService' => $httpClientService, - ) + ] ); } - /** - * @dataProvider optionsProvider - */ - public function testStorageMountOptions($inputUri, $baseUri) { + #[\PHPUnit\Framework\Attributes\DataProvider('optionsProvider')] + public function testStorageMountOptions($inputUri, $baseUri): void { $storage = $this->getTestStorage($inputUri); $this->assertEquals($baseUri, $storage->getBaseUri()); } - public function testIfTestReturnsTheValue() { - $result = $this->getTestStorage('https://remoteserver')->test(); + public function testIfTestReturnsTheValue(): void { + $storage = $this->getTestStorage('https://remoteserver'); + $result = $storage->test(); $this->assertSame(true, $result); } } @@ -122,15 +104,14 @@ class ExternalStorageTest extends \Test\TestCase { /** * Dummy subclass to make it possible to access private members */ -class TestSharingExternalStorage extends \OCA\Files_Sharing\External\Storage { - +class TestSharingExternalStorage extends Storage { public function getBaseUri() { return $this->createBaseUri(); } - public function stat($path) { + public function stat(string $path): array|false { if ($path === '') { - return true; + return ['key' => 'value']; } return parent::stat($path); } |