Merge pull request #9269 from nextcloud/fix-DI-for-federeatedfilesharing-controller

Fix DI for federated file sharing controller
This commit is contained in:
Morris Jobke 2018-04-23 15:06:11 +02:00 committed by GitHub
commit 6c6feeaa1e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 22 additions and 8 deletions

View file

@ -67,7 +67,8 @@ class Application extends App {
$notification,
$addressHandler,
$server->getUserManager(),
$server->getCloudIdManager()
$server->getCloudIdManager(),
$server->getLogger()
);
});
}

View file

@ -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'

View file

@ -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();