Skip to content

Commit 88fcb18

Browse files
committed
fix: adjust unit tests
1 parent b6dd478 commit 88fcb18

3 files changed

Lines changed: 27 additions & 27 deletions

File tree

lib/private/Files/External/StoragesBackendChecker.php

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -53,13 +53,11 @@ private function allowedBackendsForUsers() {
5353
*/
5454
public function isAllowedUserBackend(Backend $backend) {
5555
$blacklistedBackendsForUsers = ['\OC\Files\Storage\Local'];
56-
if (in_array($backend->getStorageClass(), $blacklistedBackendsForUsers, true)) {
56+
if (\in_array($backend->getStorageClass(), $blacklistedBackendsForUsers, true)) {
5757
return false;
5858
}
5959

60-
if ($this->isUserMountingAllowed() &&
61-
\array_intersect($backend->getIdentifierAliases(), $this->allowedBackendsForUsers()))
62-
{
60+
if ($this->isUserMountingAllowed() && \array_intersect($backend->getIdentifierAliases(), $this->allowedBackendsForUsers())) {
6361
return true;
6462
}
6563
return false;

tests/lib/Files/External/Service/GlobalStoragesServiceDeleteUserTest.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
use OC\Files\Config\UserMountCache;
2424
use OC\Files\External\Service\DBConfigService;
2525
use OC\Files\External\Service\GlobalStoragesService;
26+
use OC\Files\External\StoragesBackendChecker;
2627
use OC\Files\External\StoragesBackendService;
2728
use OCP\Files\External\Backend\Backend;
2829
use OCP\IUser;
@@ -125,7 +126,7 @@ public function providesDeleteAllUser() {
125126
* @param $storageParams
126127
*/
127128
public function testDeleteAllForUser($storageParams, $userId) {
128-
$backendService = new StoragesBackendService(\OC::$server->getConfig());
129+
$backendService = new StoragesBackendService(new StoragesBackendChecker(\OC::$server->getConfig()));
129130
$dbConfigService = new DBConfigService(\OC::$server->getDatabaseConnection(), \OC::$server->getCrypto());
130131
$userManager = \OC::$server->getUserManager();
131132
$userMountCache = new UserMountCache(\OC::$server->getDatabaseConnection(), $userManager, \OC::$server->getLogger());

tests/lib/Files/External/StoragesBackendServiceTest.php

Lines changed: 23 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -20,22 +20,21 @@
2020
*/
2121
namespace Test\Files\External;
2222

23+
use OC\Files\External\StoragesBackendChecker;
2324
use OC\Files\External\StoragesBackendService;
2425
use OCP\Files\External\IStoragesBackendService;
26+
use OCP\Files\External\Backend\Backend;
2527
use OCP\IConfig;
2628
use PHPUnit\Framework\MockObject\MockObject;
2729

2830
class StoragesBackendServiceTest extends \Test\TestCase {
29-
/** @var \OCP\IConfig */
30-
protected $config;
31+
/** @var StoragesBackendChecker */
32+
protected $storagesBackendChecker;
3133

3234
protected function setUp(): void {
33-
$this->config = $this->createMock('\OCP\IConfig');
34-
$this->config
35-
->method('getAppValue')
36-
->willReturnMap([
37-
['files_external', 'user_mounting_backends', '', '']
38-
]);
35+
$this->storagesBackendChecker = $this->createMock(StoragesBackendChecker::class);
36+
$this->storagesBackendChecker->method('isUserMountingAllowed')->willReturn(false);
37+
$this->storagesBackendChecker->method('isAllowedUserBackend')->willReturn(false);
3938
}
4039

4140
/**
@@ -67,7 +66,7 @@ protected function getAuthMechanismMock($class) {
6766
}
6867

6968
public function testRegisterBackend() {
70-
$service = new StoragesBackendService($this->config);
69+
$service = new StoragesBackendService($this->storagesBackendChecker);
7170

7271
$backend = $this->getBackendMock('\Foo\Bar');
7372

@@ -94,7 +93,7 @@ public function testRegisterBackend() {
9493
}
9594

9695
public function testBackendProvider() {
97-
$service = new StoragesBackendService($this->config);
96+
$service = new StoragesBackendService($this->storagesBackendChecker);
9897

9998
$backend1 = $this->getBackendMock('\Foo\Bar');
10099
$backend2 = $this->getBackendMock('\Bar\Foo');
@@ -112,7 +111,7 @@ public function testBackendProvider() {
112111
}
113112

114113
public function testAuthMechanismProvider() {
115-
$service = new StoragesBackendService($this->config);
114+
$service = new StoragesBackendService($this->storagesBackendChecker);
116115

117116
$backend1 = $this->getAuthMechanismMock('\Foo\Bar');
118117
$backend2 = $this->getAuthMechanismMock('\Bar\Foo');
@@ -130,7 +129,7 @@ public function testAuthMechanismProvider() {
130129
}
131130

132131
public function testMultipleBackendProviders() {
133-
$service = new StoragesBackendService($this->config);
132+
$service = new StoragesBackendService($this->storagesBackendChecker);
134133

135134
$backend1a = $this->getBackendMock('\Foo\Bar');
136135
$backend1b = $this->getBackendMock('\Bar\Foo');
@@ -156,15 +155,17 @@ public function testMultipleBackendProviders() {
156155
}
157156

158157
public function testUserMountingBackends() {
159-
$config = $this->createMock(IConfig::class);
160-
$config->expects($this->exactly(2))
161-
->method('getAppValue')
162-
->willReturnMap([
163-
['files_external', 'allow_user_mounting', 'no', 'yes'],
164-
['files_external', 'user_mounting_backends', '', 'identifier:\User\Mount\Allowed,identifier_alias']
165-
]);
166-
167-
$service = new StoragesBackendService($config);
158+
$storagesBackendChecker = $this->createMock(StoragesBackendChecker::class);
159+
$storagesBackendChecker->method('isUserMountingAllowed')->willReturn(true);
160+
$storagesBackendChecker->method('isAllowedUserBackend')->willReturnCallback(function (Backend $backend) {
161+
$backendAliases = $backend->getIdentifierAliases();
162+
if (\in_array('identifier:\User\Mount\Allowed', $backendAliases, true) || \in_array('identifier_alias', $backendAliases, true)) {
163+
return true;
164+
}
165+
return false;
166+
});
167+
168+
$service = new StoragesBackendService($storagesBackendChecker);
168169

169170
$backendAllowed = $this->getBackendMock('\User\Mount\Allowed');
170171
$backendAllowed->expects($this->never())
@@ -188,7 +189,7 @@ public function testUserMountingBackends() {
188189
}
189190

190191
public function testGetAvailableBackends() {
191-
$service = new StoragesBackendService($this->config);
192+
$service = new StoragesBackendService($this->storagesBackendChecker);
192193

193194
$backendAvailable = $this->getBackendMock('\Backend\Available');
194195
$backendAvailable->expects($this->once())

0 commit comments

Comments
 (0)