From 093cd01ac27be9f081af04886f721ba2589ba445 Mon Sep 17 00:00:00 2001 From: Morris Jobke Date: Mon, 23 Apr 2018 10:44:49 +0200 Subject: [PATCH] Fix DI for federated file sharing controller Signed-off-by: Morris Jobke --- .../lib/AppInfo/Application.php | 3 ++- .../lib/Controller/RequestHandlerController.php | 15 ++++++++++----- .../Controller/RequestHandlerControllerTest.php | 12 ++++++++++-- 3 files changed, 22 insertions(+), 8 deletions(-) diff --git a/apps/federatedfilesharing/lib/AppInfo/Application.php b/apps/federatedfilesharing/lib/AppInfo/Application.php index ba0126c3fa..2c863de21c 100644 --- a/apps/federatedfilesharing/lib/AppInfo/Application.php +++ b/apps/federatedfilesharing/lib/AppInfo/Application.php @@ -67,7 +67,8 @@ class Application extends App { $notification, $addressHandler, $server->getUserManager(), - $server->getCloudIdManager() + $server->getCloudIdManager(), + $server->getLogger() ); }); } diff --git a/apps/federatedfilesharing/lib/Controller/RequestHandlerController.php b/apps/federatedfilesharing/lib/Controller/RequestHandlerController.php index 4953b7c81a..caf9e329ab 100644 --- a/apps/federatedfilesharing/lib/Controller/RequestHandlerController.php +++ b/apps/federatedfilesharing/lib/Controller/RequestHandlerController.php @@ -43,6 +43,7 @@ use OCP\Constants; use OCP\Federation\ICloudIdManager; use OCP\Files\NotFoundException; use OCP\IDBConnection; +use OCP\ILogger; use OCP\IRequest; use OCP\IUserManager; use OCP\Share; @@ -74,6 +75,9 @@ class RequestHandlerController extends OCSController { /** @var ICloudIdManager */ private $cloudIdManager; + /** @var ILogger */ + private $logger; + /** * Server2Server constructor. * @@ -95,7 +99,8 @@ class RequestHandlerController extends OCSController { Notifications $notifications, AddressHandler $addressHandler, IUserManager $userManager, - ICloudIdManager $cloudIdManager + ICloudIdManager $cloudIdManager, + ILogger $logger ) { parent::__construct($appName, $request); @@ -106,6 +111,7 @@ class RequestHandlerController extends OCSController { $this->addressHandler = $addressHandler; $this->userManager = $userManager; $this->cloudIdManager = $cloudIdManager; + $this->logger = $logger; } /** @@ -140,14 +146,13 @@ class RequestHandlerController extends OCSController { } // FIXME this should be a method in the user management instead - $logger = \OC::$server->getLogger(); - $logger->debug('shareWith before, ' . $shareWith, ['app' => 'files_sharing']); + $this->logger->debug('shareWith before, ' . $shareWith, ['app' => 'files_sharing']); \OCP\Util::emitHook( '\OCA\Files_Sharing\API\Server2Server', 'preLoginNameUsedAsUserName', array('uid' => &$shareWith) ); - $logger->debug('shareWith after, ' . $shareWith, ['app' => 'files_sharing']); + $this->logger->debug('shareWith after, ' . $shareWith, ['app' => 'files_sharing']); if (!\OC::$server->getUserManager()->userExists($shareWith)) { throw new OCSException('User does not exists', 400); @@ -210,7 +215,7 @@ class RequestHandlerController extends OCSController { return new Http\DataResponse(); } catch (\Exception $e) { - \OC::$server->getLogger()->logException($e, [ + $this->logger->logException($e, [ 'message' => 'Server can not add remote share.', 'level' => \OCP\Util::ERROR, 'app' => 'files_sharing' diff --git a/apps/federatedfilesharing/tests/Controller/RequestHandlerControllerTest.php b/apps/federatedfilesharing/tests/Controller/RequestHandlerControllerTest.php index d76f93751a..cb535f33c6 100644 --- a/apps/federatedfilesharing/tests/Controller/RequestHandlerControllerTest.php +++ b/apps/federatedfilesharing/tests/Controller/RequestHandlerControllerTest.php @@ -38,6 +38,7 @@ use OCP\Http\Client\IClient; use OCP\Http\Client\IClientService; use OCP\Http\Client\IResponse; use OCP\IConfig; +use OCP\ILogger; use OCP\IUserManager; use OCP\Share\IShare; @@ -79,6 +80,9 @@ class RequestHandlerControllerTest extends TestCase { /** @var ICloudIdManager */ private $cloudIdManager; + /** @var ILogger|\PHPUnit_Framework_MockObject_MockObject */ + private $logger; + protected function setUp() { parent::setUp(); @@ -103,6 +107,8 @@ class RequestHandlerControllerTest extends TestCase { $this->cloudIdManager = new CloudIdManager(); + $this->logger = $this->createMock(ILogger::class); + $this->s2s = new RequestHandlerController( 'federatedfilesharing', \OC::$server->getRequest(), @@ -112,7 +118,8 @@ class RequestHandlerControllerTest extends TestCase { $this->notifications, $this->addressHandler, $this->userManager, - $this->cloudIdManager + $this->cloudIdManager, + $this->logger ); $this->connection = \OC::$server->getDatabaseConnection(); @@ -177,7 +184,8 @@ class RequestHandlerControllerTest extends TestCase { $this->notifications, $this->addressHandler, $this->userManager, - $this->cloudIdManager + $this->cloudIdManager, + $this->logger, ] )->setMethods(['executeDeclineShare', 'verifyShare'])->getMock();