Skip to content

Commit abd24c8

Browse files
committed
refactor(shareApiController): use contrusctor property promotion & DI logger
Signed-off-by: fenn-cs <fenn25.fn@gmail.com>
1 parent 2a9a5b3 commit abd24c8

File tree

3 files changed

+53
-103
lines changed

3 files changed

+53
-103
lines changed

apps/files_sharing/lib/Controller/ShareAPIController.php

Lines changed: 7 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,6 @@
7575
use OCP\IL10N;
7676
use OCP\IPreview;
7777
use OCP\IRequest;
78-
use OCP\IServerContainer;
7978
use OCP\IURLGenerator;
8079
use OCP\IUserManager;
8180
use OCP\Lock\ILockingProvider;
@@ -87,6 +86,7 @@
8786
use OCP\Share\IShare;
8887
use OCP\UserStatus\IManager as IUserStatusManager;
8988
use Psr\Container\ContainerExceptionInterface;
89+
use Psr\Container\ContainerInterface;
9090
use Psr\Log\LoggerInterface;
9191

9292
/**
@@ -96,32 +96,8 @@
9696
*/
9797
class ShareAPIController extends OCSController {
9898

99-
/** @var IManager */
100-
private $shareManager;
101-
/** @var IGroupManager */
102-
private $groupManager;
103-
/** @var IUserManager */
104-
private $userManager;
105-
/** @var IRootFolder */
106-
private $rootFolder;
107-
/** @var IURLGenerator */
108-
private $urlGenerator;
109-
/** @var string */
110-
private $currentUser;
111-
/** @var IL10N */
112-
private $l;
113-
/** @var \OCP\Files\Node */
114-
private $lockedNode;
115-
/** @var IConfig */
116-
private $config;
117-
/** @var IAppManager */
118-
private $appManager;
119-
/** @var IServerContainer */
120-
private $serverContainer;
121-
/** @var IUserStatusManager */
122-
private $userStatusManager;
123-
/** @var IPreview */
124-
private $previewManager;
99+
private ?Node $lockedNode = null;
100+
private string $currentUser;
125101

126102
/**
127103
* Share20OCS constructor.
@@ -142,22 +118,11 @@ public function __construct(
142118
IUserStatusManager $userStatusManager,
143119
IPreview $previewManager,
144120
private IDateTimeZone $dateTimeZone,
121+
private LoggerInterface $logger,
122+
?string $userId = null
145123
) {
146124
parent::__construct($appName, $request);
147-
148-
$this->shareManager = $shareManager;
149-
$this->userManager = $userManager;
150-
$this->groupManager = $groupManager;
151-
$this->request = $request;
152-
$this->rootFolder = $rootFolder;
153-
$this->urlGenerator = $urlGenerator;
154125
$this->currentUser = $userId;
155-
$this->l = $l10n;
156-
$this->config = $config;
157-
$this->appManager = $appManager;
158-
$this->serverContainer = $serverContainer;
159-
$this->userStatusManager = $userStatusManager;
160-
$this->previewManager = $previewManager;
161126
}
162127

163128
/**
@@ -376,7 +341,7 @@ private function getDisplayNameFromAddressBook(string $query, string $property):
376341
'strict_search' => true,
377342
]);
378343
} catch (Exception $e) {
379-
Server::get(LoggerInterface::class)->error(
344+
$this->logger->error(
380345
$e->getMessage(),
381346
['exception' => $e]
382347
);
@@ -458,7 +423,7 @@ private function retrieveFederatedDisplayName(array $userIds, bool $cacheOnly =
458423
try {
459424
$slaveService = Server::get(\OCA\GlobalSiteSelector\Service\SlaveService::class);
460425
} catch (\Throwable $e) {
461-
Server::get(LoggerInterface::class)->error(
426+
$this->logger->error(
462427
$e->getMessage(),
463428
['exception' => $e]
464429
);

apps/files_sharing/tests/ApiTest.php

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -48,9 +48,10 @@
4848
use OCP\IL10N;
4949
use OCP\IPreview;
5050
use OCP\IRequest;
51-
use OCP\IServerContainer;
5251
use OCP\Share\IShare;
5352
use OCP\UserStatus\IManager as IUserStatusManager;
53+
use Psr\Container\ContainerInterface;
54+
use Psr\Log\LoggerInterface;
5455

5556
/**
5657
* Class ApiTest
@@ -120,10 +121,11 @@ private function createOCS($userId) {
120121
});
121122
$config = $this->createMock(IConfig::class);
122123
$appManager = $this->createMock(IAppManager::class);
123-
$serverContainer = $this->createMock(IServerContainer::class);
124+
$serverContainer = $this->createMock(ContainerInterface::class);
124125
$userStatusManager = $this->createMock(IUserStatusManager::class);
125126
$previewManager = $this->createMock(IPreview::class);
126127
$dateTimeZone = $this->createMock(IDateTimeZone::class);
128+
$logger = $this->createMock(LoggerInterface::class);
127129
$dateTimeZone->method('getTimeZone')->willReturn(new \DateTimeZone(date_default_timezone_get()));
128130

129131
return new ShareAPIController(
@@ -134,14 +136,15 @@ private function createOCS($userId) {
134136
\OC::$server->getUserManager(),
135137
\OC::$server->getRootFolder(),
136138
\OC::$server->getURLGenerator(),
137-
$userId,
138139
$l,
139140
$config,
140141
$appManager,
141142
$serverContainer,
142143
$userStatusManager,
143144
$previewManager,
144145
$dateTimeZone,
146+
$logger,
147+
$userId,
145148
);
146149
}
147150

apps/files_sharing/tests/Controller/ShareAPIControllerTest.php

Lines changed: 40 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,6 @@
5353
use OCP\IL10N;
5454
use OCP\IPreview;
5555
use OCP\IRequest;
56-
use OCP\IServerContainer;
5756
use OCP\IURLGenerator;
5857
use OCP\IUser;
5958
use OCP\IUserManager;
@@ -63,6 +62,8 @@
6362
use OCP\Share\IManager;
6463
use OCP\Share\IShare;
6564
use OCP\UserStatus\IManager as IUserStatusManager;
65+
use Psr\Container\ContainerInterface;
66+
use Psr\Log\LoggerInterface;
6667
use Test\TestCase;
6768

6869
/**
@@ -73,53 +74,23 @@
7374
*/
7475
class ShareAPIControllerTest extends TestCase {
7576

76-
/** @var string */
77-
private $appName = 'files_sharing';
78-
79-
/** @var \OC\Share20\Manager|\PHPUnit\Framework\MockObject\MockObject */
80-
private $shareManager;
81-
82-
/** @var IGroupManager|\PHPUnit\Framework\MockObject\MockObject */
83-
private $groupManager;
84-
85-
/** @var IUserManager|\PHPUnit\Framework\MockObject\MockObject */
86-
private $userManager;
87-
88-
/** @var IRequest|\PHPUnit\Framework\MockObject\MockObject */
89-
private $request;
90-
91-
/** @var IRootFolder|\PHPUnit\Framework\MockObject\MockObject */
92-
private $rootFolder;
93-
94-
/** @var IURLGenerator|\PHPUnit\Framework\MockObject\MockObject */
95-
private $urlGenerator;
96-
97-
/** @var string|\PHPUnit\Framework\MockObject\MockObject */
98-
private $currentUser;
99-
100-
/** @var ShareAPIController */
101-
private $ocs;
102-
103-
/** @var IL10N|\PHPUnit\Framework\MockObject\MockObject */
104-
private $l;
105-
106-
/** @var IConfig|\PHPUnit\Framework\MockObject\MockObject */
107-
private $config;
108-
109-
/** @var IAppManager|\PHPUnit\Framework\MockObject\MockObject */
110-
private $appManager;
111-
112-
/** @var IServerContainer|\PHPUnit\Framework\MockObject\MockObject */
113-
private $serverContainer;
114-
115-
/** @var IUserStatusManager|\PHPUnit\Framework\MockObject\MockObject */
116-
private $userStatusManager;
117-
118-
/** @var IPreview|\PHPUnit\Framework\MockObject\MockObject */
119-
private $previewManager;
120-
121-
/** @var IDateTimeZone|\PHPUnit\Framework\MockObject\MockObject */
122-
private $dateTimeZone;
77+
private string $appName = 'files_sharing';
78+
private \OC\Share20\Manager|\PHPUnit\Framework\MockObject\MockObject $shareManager;
79+
private IGroupManager|\PHPUnit\Framework\MockObject\MockObject $groupManager;
80+
private IUserManager|\PHPUnit\Framework\MockObject\MockObject $userManager;
81+
private IRequest|\PHPUnit\Framework\MockObject\MockObject $request;
82+
private IRootFolder|\PHPUnit\Framework\MockObject\MockObject $rootFolder;
83+
private IURLGenerator|\PHPUnit\Framework\MockObject\MockObject $urlGenerator;
84+
private string|\PHPUnit\Framework\MockObject\MockObject $currentUser;
85+
private ShareAPIController $ocs;
86+
private IL10N|\PHPUnit\Framework\MockObject\MockObject $l;
87+
private IConfig|\PHPUnit\Framework\MockObject\MockObject $config;
88+
private IAppManager|\PHPUnit\Framework\MockObject\MockObject $appManager;
89+
private IServerContainer|\PHPUnit\Framework\MockObject\MockObject $serverContainer;
90+
private IUserStatusManager|\PHPUnit\Framework\MockObject\MockObject $userStatusManager;
91+
private IPreview|\PHPUnit\Framework\MockObject\MockObject $previewManager;
92+
private IDateTimeZone|\PHPUnit\Framework\MockObject\MockObject $dateTimeZone;
93+
private LoggerInterface $logger;
12394

12495
protected function setUp(): void {
12596
$this->shareManager = $this->createMock(IManager::class);
@@ -144,14 +115,15 @@ protected function setUp(): void {
144115
});
145116
$this->config = $this->createMock(IConfig::class);
146117
$this->appManager = $this->createMock(IAppManager::class);
147-
$this->serverContainer = $this->createMock(IServerContainer::class);
118+
$this->serverContainer = $this->createMock(ContainerInterface::class);
148119
$this->userStatusManager = $this->createMock(IUserStatusManager::class);
149120
$this->previewManager = $this->createMock(IPreview::class);
150121
$this->previewManager->method('isAvailable')
151122
->willReturnCallback(function ($fileInfo) {
152123
return $fileInfo->getMimeType() === 'mimeWithPreview';
153124
});
154125
$this->dateTimeZone = $this->createMock(IDateTimeZone::class);
126+
$this->logger = $this->createMock(LoggerInterface::class);
155127

156128
$this->ocs = new ShareAPIController(
157129
$this->appName,
@@ -161,14 +133,15 @@ protected function setUp(): void {
161133
$this->userManager,
162134
$this->rootFolder,
163135
$this->urlGenerator,
164-
$this->currentUser,
165136
$this->l,
166137
$this->config,
167138
$this->appManager,
168139
$this->serverContainer,
169140
$this->userStatusManager,
170141
$this->previewManager,
171142
$this->dateTimeZone,
143+
$this->logger,
144+
$this->currentUser,
172145
);
173146
}
174147

@@ -185,14 +158,15 @@ private function mockFormatShare() {
185158
$this->userManager,
186159
$this->rootFolder,
187160
$this->urlGenerator,
188-
$this->currentUser,
189161
$this->l,
190162
$this->config,
191163
$this->appManager,
192164
$this->serverContainer,
193165
$this->userStatusManager,
194166
$this->previewManager,
195167
$this->dateTimeZone,
168+
$this->logger,
169+
$this->currentUser,
196170
])->setMethods(['formatShare'])
197171
->getMock();
198172
}
@@ -783,14 +757,16 @@ public function testGetShare(\OCP\Share\IShare $share, array $result) {
783757
$this->userManager,
784758
$this->rootFolder,
785759
$this->urlGenerator,
786-
$this->currentUser,
787760
$this->l,
788761
$this->config,
789762
$this->appManager,
790763
$this->serverContainer,
791764
$this->userStatusManager,
792765
$this->previewManager,
793766
$this->dateTimeZone,
767+
$this->logger,
768+
$this->currentUser,
769+
794770
])->setMethods(['canAccessShare'])
795771
->getMock();
796772

@@ -1409,14 +1385,15 @@ public function testGetShares(array $getSharesParameters, array $shares, array $
14091385
$this->userManager,
14101386
$this->rootFolder,
14111387
$this->urlGenerator,
1412-
$this->currentUser,
14131388
$this->l,
14141389
$this->config,
14151390
$this->appManager,
14161391
$this->serverContainer,
14171392
$this->userStatusManager,
14181393
$this->previewManager,
14191394
$this->dateTimeZone,
1395+
$this->logger,
1396+
$this->currentUser,
14201397
])->setMethods(['formatShare'])
14211398
->getMock();
14221399

@@ -1749,14 +1726,15 @@ public function testCreateShareUser() {
17491726
$this->userManager,
17501727
$this->rootFolder,
17511728
$this->urlGenerator,
1752-
$this->currentUser,
17531729
$this->l,
17541730
$this->config,
17551731
$this->appManager,
17561732
$this->serverContainer,
17571733
$this->userStatusManager,
17581734
$this->previewManager,
17591735
$this->dateTimeZone,
1736+
$this->logger,
1737+
$this->currentUser,
17601738
])->setMethods(['formatShare'])
17611739
->getMock();
17621740

@@ -1844,14 +1822,15 @@ public function testCreateShareGroup() {
18441822
$this->userManager,
18451823
$this->rootFolder,
18461824
$this->urlGenerator,
1847-
$this->currentUser,
18481825
$this->l,
18491826
$this->config,
18501827
$this->appManager,
18511828
$this->serverContainer,
18521829
$this->userStatusManager,
18531830
$this->previewManager,
18541831
$this->dateTimeZone,
1832+
$this->logger,
1833+
$this->currentUser,
18551834
])->setMethods(['formatShare'])
18561835
->getMock();
18571836

@@ -2254,14 +2233,15 @@ public function testCreateShareRemote() {
22542233
$this->userManager,
22552234
$this->rootFolder,
22562235
$this->urlGenerator,
2257-
$this->currentUser,
22582236
$this->l,
22592237
$this->config,
22602238
$this->appManager,
22612239
$this->serverContainer,
22622240
$this->userStatusManager,
22632241
$this->previewManager,
22642242
$this->dateTimeZone,
2243+
$this->logger,
2244+
$this->currentUser,
22652245
])->setMethods(['formatShare'])
22662246
->getMock();
22672247

@@ -2321,14 +2301,15 @@ public function testCreateShareRemoteGroup() {
23212301
$this->userManager,
23222302
$this->rootFolder,
23232303
$this->urlGenerator,
2324-
$this->currentUser,
23252304
$this->l,
23262305
$this->config,
23272306
$this->appManager,
23282307
$this->serverContainer,
23292308
$this->userStatusManager,
23302309
$this->previewManager,
23312310
$this->dateTimeZone,
2311+
$this->logger,
2312+
$this->currentUser,
23322313
])->setMethods(['formatShare'])
23332314
->getMock();
23342315

@@ -2561,14 +2542,15 @@ public function testCreateReshareOfFederatedMountNoDeletePermissions() {
25612542
$this->userManager,
25622543
$this->rootFolder,
25632544
$this->urlGenerator,
2564-
$this->currentUser,
25652545
$this->l,
25662546
$this->config,
25672547
$this->appManager,
25682548
$this->serverContainer,
25692549
$this->userStatusManager,
25702550
$this->previewManager,
25712551
$this->dateTimeZone,
2552+
$this->logger,
2553+
$this->currentUser,
25722554
])->setMethods(['formatShare'])
25732555
->getMock();
25742556

0 commit comments

Comments
 (0)