diff --git a/apps/files_sharing/lib/External/MountProvider.php b/apps/files_sharing/lib/External/MountProvider.php index f46bb009ab..3f2f39a74f 100644 --- a/apps/files_sharing/lib/External/MountProvider.php +++ b/apps/files_sharing/lib/External/MountProvider.php @@ -56,6 +56,7 @@ class MountProvider implements IMountProvider { $mountPoint = '/' . $user->getUID() . '/files/' . ltrim($data['mountpoint'], '/'); $data['mountpoint'] = $mountPoint; $data['certificateManager'] = \OC::$server->getCertificateManager($user->getUID()); + $data['HttpClientService'] = \OC::$server->getHTTPClientService(); return new Mount(self::STORAGE, $mountPoint, $data, $manager, $storageFactory); } diff --git a/apps/files_sharing/lib/External/Storage.php b/apps/files_sharing/lib/External/Storage.php index caa2bcf2a7..93f3571e80 100644 --- a/apps/files_sharing/lib/External/Storage.php +++ b/apps/files_sharing/lib/External/Storage.php @@ -64,10 +64,10 @@ class Storage extends DAV implements ISharedStorage { public function __construct($options) { $this->memcacheFactory = \OC::$server->getMemCacheFactory(); - $this->httpClient = \OC::$server->getHTTPClientService(); + $this->httpClient = $options['HttpClientService']; $discoveryManager = new DiscoveryManager( $this->memcacheFactory, - \OC::$server->getHTTPClientService() + $this->httpClient ); $this->manager = $options['manager']; diff --git a/apps/files_sharing/tests/ExternalStorageTest.php b/apps/files_sharing/tests/ExternalStorageTest.php index e84d2bb0e1..49b72be139 100644 --- a/apps/files_sharing/tests/ExternalStorageTest.php +++ b/apps/files_sharing/tests/ExternalStorageTest.php @@ -25,6 +25,9 @@ */ namespace OCA\Files_Sharing\Tests; +use OCP\Http\Client\IClient; +use OCP\Http\Client\IClientService; +use OCP\Http\Client\IResponse; /** * Tests for the external Storage class for remote shares. @@ -69,6 +72,22 @@ class ExternalStorageTest extends \Test\TestCase { private function getTestStorage($uri) { $certificateManager = \OC::$server->getCertificateManager(); + $httpClientService = $this->createMock(IClientService::class); + $client = $this->createMock(IClient::class); + $response = $this->createMock(IResponse::class); + $client + ->expects($this->any()) + ->method('get') + ->willReturn($response); + $client + ->expects($this->any()) + ->method('post') + ->willReturn($response); + $httpClientService + ->expects($this->any()) + ->method('newClient') + ->willReturn($client); + return new TestSharingExternalStorage( array( 'remote' => $uri, @@ -77,7 +96,8 @@ class ExternalStorageTest extends \Test\TestCase { 'token' => 'abcdef', 'password' => '', 'manager' => null, - 'certificateManager' => $certificateManager + 'certificateManager' => $certificateManager, + 'HttpClientService' => $httpClientService, ) ); }