summaryrefslogtreecommitdiffstats
path: root/apps
diff options
context:
space:
mode:
Diffstat (limited to 'apps')
-rw-r--r--apps/files_external/controller/userstoragescontroller.php2
-rw-r--r--apps/files_external/lib/auth/authmechanism.php6
-rw-r--r--apps/files_external/lib/backend/backend.php6
-rw-r--r--apps/files_external/lib/backend/local.php2
-rw-r--r--apps/files_external/lib/permissionstrait.php164
-rw-r--r--apps/files_external/lib/visibilitytrait.php136
-rw-r--r--apps/files_external/personal.php8
-rw-r--r--apps/files_external/service/backendservice.php68
-rw-r--r--apps/files_external/settings.php16
-rw-r--r--apps/files_external/templates/settings.php2
-rw-r--r--apps/files_external/tests/controller/storagescontrollertest.php8
-rw-r--r--apps/files_external/tests/controller/userstoragescontrollertest.php4
-rw-r--r--apps/files_external/tests/service/backendservicetest.php28
13 files changed, 212 insertions, 238 deletions
diff --git a/apps/files_external/controller/userstoragescontroller.php b/apps/files_external/controller/userstoragescontroller.php
index 0d41e088a76..9baac3a8031 100644
--- a/apps/files_external/controller/userstoragescontroller.php
+++ b/apps/files_external/controller/userstoragescontroller.php
@@ -79,7 +79,7 @@ class UserStoragesController extends StoragesController {
// Prevent non-admin users from mounting local storage and other disabled backends
/** @var Backend */
$backend = $storage->getBackend();
- if (!$backend->isVisibleFor(BackendService::VISIBILITY_PERSONAL)) {
+ if (!$backend->isPermitted(BackendService::USER_PERSONAL, BackendService::PERMISSION_MOUNT)) {
return new DataResponse(
array(
'message' => (string)$this->l10n->t('Admin-only storage backend "%s"', [
diff --git a/apps/files_external/lib/auth/authmechanism.php b/apps/files_external/lib/auth/authmechanism.php
index 11d99bb330d..ddc0c6a4dca 100644
--- a/apps/files_external/lib/auth/authmechanism.php
+++ b/apps/files_external/lib/auth/authmechanism.php
@@ -22,7 +22,7 @@
namespace OCA\Files_External\Lib\Auth;
use \OCA\Files_External\Lib\StorageConfig;
-use \OCA\Files_External\Lib\VisibilityTrait;
+use \OCA\Files_External\Lib\PermissionsTrait;
use \OCA\Files_External\Lib\IdentifierTrait;
use \OCA\Files_External\Lib\FrontendDefinitionTrait;
use \OCA\Files_External\Lib\StorageModifierTrait;
@@ -40,7 +40,7 @@ use \OCA\Files_External\Lib\StorageModifierTrait;
* scheme, which are provided from the authentication mechanism.
*
* This class uses the following traits:
- * - VisibilityTrait
+ * - PermissionsTrait
* Restrict usage to admin-only/none
* - FrontendDefinitionTrait
* Specify configuration parameters and other definitions
@@ -58,7 +58,7 @@ class AuthMechanism implements \JsonSerializable {
const SCHEME_PUBLICKEY = 'publickey';
const SCHEME_OPENSTACK = 'openstack';
- use VisibilityTrait;
+ use PermissionsTrait;
use FrontendDefinitionTrait;
use StorageModifierTrait;
use IdentifierTrait;
diff --git a/apps/files_external/lib/backend/backend.php b/apps/files_external/lib/backend/backend.php
index 90d5d38ed94..2a2add3ac59 100644
--- a/apps/files_external/lib/backend/backend.php
+++ b/apps/files_external/lib/backend/backend.php
@@ -22,7 +22,7 @@
namespace OCA\Files_External\Lib\Backend;
use \OCA\Files_External\Lib\StorageConfig;
-use \OCA\Files_External\Lib\VisibilityTrait;
+use \OCA\Files_External\Lib\PermissionsTrait;
use \OCA\Files_External\Lib\FrontendDefinitionTrait;
use \OCA\Files_External\Lib\PriorityTrait;
use \OCA\Files_External\Lib\DependencyTrait;
@@ -43,7 +43,7 @@ use \OCA\Files_External\Lib\Auth\AuthMechanism;
* scheme, which are provided from the authentication mechanism.
*
* This class uses the following traits:
- * - VisibilityTrait
+ * - PermissionsTrait
* Restrict usage to admin-only/none
* - FrontendDefinitionTrait
* Specify configuration parameters and other definitions
@@ -56,7 +56,7 @@ use \OCA\Files_External\Lib\Auth\AuthMechanism;
*/
class Backend implements \JsonSerializable {
- use VisibilityTrait;
+ use PermissionsTrait;
use FrontendDefinitionTrait;
use PriorityTrait;
use DependencyTrait;
diff --git a/apps/files_external/lib/backend/local.php b/apps/files_external/lib/backend/local.php
index a80b437fab7..a6635491b6e 100644
--- a/apps/files_external/lib/backend/local.php
+++ b/apps/files_external/lib/backend/local.php
@@ -39,7 +39,7 @@ class Local extends Backend {
->addParameters([
(new DefinitionParameter('datadir', $l->t('Location'))),
])
- ->setAllowedVisibility(BackendService::VISIBILITY_ADMIN)
+ ->setAllowedPermissions(BackendService::USER_PERSONAL, BackendService::PERMISSION_NONE)
->setPriority(BackendService::PRIORITY_DEFAULT + 50)
->addAuthScheme(AuthMechanism::SCHEME_NULL)
->setLegacyAuthMechanism($legacyAuth)
diff --git a/apps/files_external/lib/permissionstrait.php b/apps/files_external/lib/permissionstrait.php
new file mode 100644
index 00000000000..8509a01e422
--- /dev/null
+++ b/apps/files_external/lib/permissionstrait.php
@@ -0,0 +1,164 @@
+<?php
+/**
+ * @author Robin McCorkell <rmccorkell@karoshi.org.uk>
+ *
+ * @copyright Copyright (c) 2015, ownCloud, Inc.
+ * @license AGPL-3.0
+ *
+ * This code is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License, version 3,
+ * as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License, version 3,
+ * along with this program. If not, see <http://www.gnu.org/licenses/>
+ *
+ */
+
+namespace OCA\Files_External\Lib;
+
+use \OCA\Files_External\Service\BackendService;
+
+/**
+ * Trait to implement backend and auth mechanism permissions
+ *
+ * For user type constants, see BackendService::USER_*
+ * For permission constants, see BackendService::PERMISSION_*
+ */
+trait PermissionsTrait {
+
+ /** @var array [user type => permissions] */
+ protected $permissions = [
+ BackendService::USER_PERSONAL => BackendService::PERMISSION_DEFAULT,
+ BackendService::USER_ADMIN => BackendService::PERMISSION_DEFAULT,
+ ];
+
+ /** @var array [user type => allowed permissions] */
+ protected $allowedPermissions = [
+ BackendService::USER_PERSONAL => BackendService::PERMISSION_DEFAULT,
+ BackendService::USER_ADMIN => BackendService::PERMISSION_DEFAULT,
+ ];
+
+ /**
+ * @param string $userType
+ * @return int
+ */
+ public function getPermissions($userType) {
+ if (isset($this->permissions[$userType])) {
+ return $this->permissions[$userType];
+ }
+ return BackendService::PERMISSION_NONE;
+ }
+
+ /**
+ * Check if the user type has permission
+ *
+ * @param string $userType
+ * @param int $permission
+ * @return bool
+ */
+ public function isPermitted($userType, $permission) {
+ if ($this->getPermissions($userType) & $permission) {
+ return true;
+ }
+ return false;
+ }
+
+ /**
+ * @param string $userType
+ * @param int $permissions
+ * @return self
+ */
+ public function setPermissions($userType, $permissions) {
+ $this->permissions[$userType] = $permissions;
+ $this->allowedPermissions[$userType] =
+ $this->getAllowedPermissions($userType) | $permissions;
+ return $this;
+ }
+
+ /**
+ * @param string $userType
+ * @param int $permission
+ * @return self
+ */
+ public function addPermission($userType, $permission) {
+ return $this->setPermissions($userType,
+ $this->getPermissions($userType) | $permission
+ );
+ }
+
+ /**
+ * @param string $userType
+ * @param int $permission
+ * @return self
+ */
+ public function removePermission($userType, $permission) {
+ return $this->setPermissions($userType,
+ $this->getPermissions($userType) & ~$permission
+ );
+ }
+
+ /**
+ * @param string $userType
+ * @return int
+ */
+ public function getAllowedPermissions($userType) {
+ if (isset($this->allowedPermissions[$userType])) {
+ return $this->allowedPermissions[$userType];
+ }
+ return BackendService::PERMISSION_NONE;
+ }
+
+ /**
+ * Check if the user type has an allowed permission
+ *
+ * @param string $userType
+ * @param int $permission
+ * @return bool
+ */
+ public function isAllowedPermitted($userType, $permission) {
+ if ($this->getAllowedPermissions($userType) & $permission) {
+ return true;
+ }
+ return false;
+ }
+
+ /**
+ * @param string $userType
+ * @param int $permissions
+ * @return self
+ */
+ public function setAllowedPermissions($userType, $permissions) {
+ $this->allowedPermissions[$userType] = $permissions;
+ $this->permissions[$userType] =
+ $this->getPermissions($userType) & $permissions;
+ return $this;
+ }
+
+ /**
+ * @param string $userType
+ * @param int $permission
+ * @return self
+ */
+ public function addAllowedPermission($userType, $permission) {
+ return $this->setAllowedPermissions($userType,
+ $this->getAllowedPermissions($userType) | $permission
+ );
+ }
+
+ /**
+ * @param string $userType
+ * @param int $permission
+ * @return self
+ */
+ public function removeAllowedPermission($userType, $permission) {
+ return $this->setAllowedPermissions($userType,
+ $this->getAllowedPermissions($userType) & ~$permission
+ );
+ }
+
+}
diff --git a/apps/files_external/lib/visibilitytrait.php b/apps/files_external/lib/visibilitytrait.php
deleted file mode 100644
index dfd2d323ca6..00000000000
--- a/apps/files_external/lib/visibilitytrait.php
+++ /dev/null
@@ -1,136 +0,0 @@
-<?php
-/**
- * @author Robin McCorkell <rmccorkell@karoshi.org.uk>
- *
- * @copyright Copyright (c) 2015, ownCloud, Inc.
- * @license AGPL-3.0
- *
- * This code is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License, version 3,
- * as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License, version 3,
- * along with this program. If not, see <http://www.gnu.org/licenses/>
- *
- */
-
-namespace OCA\Files_External\Lib;
-
-use \OCA\Files_External\Service\BackendService;
-
-/**
- * Trait to implement visibility mechanics for a configuration class
- *
- * The standard visibility defines which users/groups can use or see the
- * object. The allowed visibility defines the maximum visibility allowed to be
- * set on the object. The standard visibility is often set dynamically by
- * stored configuration parameters that can be modified by the administrator,
- * while the allowed visibility is set directly by the object and cannot be
- * modified by the administrator.
- */
-trait VisibilityTrait {
-
- /** @var int visibility */
- protected $visibility = BackendService::VISIBILITY_DEFAULT;
-
- /** @var int allowed visibilities */
- protected $allowedVisibility = BackendService::VISIBILITY_DEFAULT;
-
- /**
- * @return int
- */
- public function getVisibility() {
- return $this->visibility;
- }
-
- /**
- * Check if the backend is visible for a user type
- *
- * @param int $visibility
- * @return bool
- */
- public function isVisibleFor($visibility) {
- if ($this->visibility & $visibility) {
- return true;
- }
- return false;
- }
-
- /**
- * @param int $visibility
- * @return self
- */
- public function setVisibility($visibility) {
- $this->visibility = $visibility;
- $this->allowedVisibility |= $visibility;
- return $this;
- }
-
- /**
- * @param int $visibility
- * @return self
- */
- public function addVisibility($visibility) {
- return $this->setVisibility($this->visibility | $visibility);
- }
-
- /**
- * @param int $visibility
- * @return self
- */
- public function removeVisibility($visibility) {
- return $this->setVisibility($this->visibility & ~$visibility);
- }
-
- /**
- * @return int
- */
- public function getAllowedVisibility() {
- return $this->allowedVisibility;
- }
-
- /**
- * Check if the backend is allowed to be visible for a user type
- *
- * @param int $allowedVisibility
- * @return bool
- */
- public function isAllowedVisibleFor($allowedVisibility) {
- if ($this->allowedVisibility & $allowedVisibility) {
- return true;
- }
- return false;
- }
-
- /**
- * @param int $allowedVisibility
- * @return self
- */
- public function setAllowedVisibility($allowedVisibility) {
- $this->allowedVisibility = $allowedVisibility;
- $this->visibility &= $allowedVisibility;
- return $this;
- }
-
- /**
- * @param int $allowedVisibility
- * @return self
- */
- public function addAllowedVisibility($allowedVisibility) {
- return $this->setAllowedVisibility($this->allowedVisibility | $allowedVisibility);
- }
-
- /**
- * @param int $allowedVisibility
- * @return self
- */
- public function removeAllowedVisibility($allowedVisibility) {
- return $this->setAllowedVisibility($this->allowedVisibility & ~$allowedVisibility);
- }
-
-}
diff --git a/apps/files_external/personal.php b/apps/files_external/personal.php
index 8717d91d4f1..d47f983b357 100644
--- a/apps/files_external/personal.php
+++ b/apps/files_external/personal.php
@@ -34,8 +34,12 @@ $userStoragesService = $appContainer->query('OCA\Files_external\Service\UserStor
OCP\Util::addScript('files_external', 'settings');
OCP\Util::addStyle('files_external', 'settings');
-$backends = $backendService->getBackendsVisibleFor(BackendService::VISIBILITY_PERSONAL);
-$authMechanisms = $backendService->getAuthMechanismsVisibleFor(BackendService::VISIBILITY_PERSONAL);
+$backends = array_filter($backendService->getAvailableBackends(), function($backend) {
+ return $backend->isPermitted(BackendService::USER_PERSONAL, BackendService::PERMISSION_CREATE);
+});
+$authMechanisms = array_filter($backendService->getAuthMechanisms(), function($authMechanism) {
+ return $authMechanism->isPermitted(BackendService::USER_PERSONAL, BackendService::PERMISSION_CREATE);
+});
foreach ($backends as $backend) {
if ($backend->getCustomJs()) {
\OCP\Util::addScript('files_external', $backend->getCustomJs());
diff --git a/apps/files_external/service/backendservice.php b/apps/files_external/service/backendservice.php
index 382834b4c19..d9a3e316ce4 100644
--- a/apps/files_external/service/backendservice.php
+++ b/apps/files_external/service/backendservice.php
@@ -31,13 +31,16 @@ use \OCA\Files_External\Lib\Auth\AuthMechanism;
*/
class BackendService {
- /** Visibility constants for VisibilityTrait */
- const VISIBILITY_NONE = 0;
- const VISIBILITY_PERSONAL = 1;
- const VISIBILITY_ADMIN = 2;
- //const VISIBILITY_ALIENS = 4;
+ /** Permission constants for PermissionsTrait */
+ const PERMISSION_NONE = 0;
+ const PERMISSION_MOUNT = 1;
+ const PERMISSION_CREATE = 2;
- const VISIBILITY_DEFAULT = 3; // PERSONAL | ADMIN
+ const PERMISSION_DEFAULT = 3; // MOUNT | CREATE
+
+ /** User contants */
+ const USER_ADMIN = 'admin';
+ const USER_PERSONAL = 'personal';
/** Priority constants for PriorityTrait */
const PRIORITY_DEFAULT = 100;
@@ -81,7 +84,7 @@ class BackendService {
*/
public function registerBackend(Backend $backend) {
if (!$this->isAllowedUserBackend($backend)) {
- $backend->removeVisibility(BackendService::VISIBILITY_PERSONAL);
+ $backend->removePermission(self::USER_PERSONAL, self::PERMISSION_CREATE | self::PERMISSION_MOUNT);
}
foreach ($backend->getIdentifierAliases() as $alias) {
$this->backends[$alias] = $backend;
@@ -103,7 +106,7 @@ class BackendService {
*/
public function registerAuthMechanism(AuthMechanism $authMech) {
if (!$this->isAllowedAuthMechanism($authMech)) {
- $authMech->removeVisibility(BackendService::VISIBILITY_PERSONAL);
+ $authMech->removePermission(self::USER_PERSONAL, self::PERMISSION_CREATE | self::PERMISSION_MOUNT);
}
foreach ($authMech->getIdentifierAliases() as $alias) {
$this->authMechanisms[$alias] = $authMech;
@@ -145,30 +148,6 @@ class BackendService {
}
/**
- * Get backends visible for $visibleFor
- *
- * @param int $visibleFor
- * @return Backend[]
- */
- public function getBackendsVisibleFor($visibleFor) {
- return array_filter($this->getAvailableBackends(), function($backend) use ($visibleFor) {
- return $backend->isVisibleFor($visibleFor);
- });
- }
-
- /**
- * Get backends allowed to be visible for $visibleFor
- *
- * @param int $visibleFor
- * @return Backend[]
- */
- public function getBackendsAllowedVisibleFor($visibleFor) {
- return array_filter($this->getAvailableBackends(), function($backend) use ($visibleFor) {
- return $backend->isAllowedVisibleFor($visibleFor);
- });
- }
-
- /**
* @param string $identifier
* @return Backend|null
*/
@@ -206,31 +185,6 @@ class BackendService {
}
/**
- * Get authentication mechanisms visible for $visibleFor
- *
- * @param int $visibleFor
- * @return AuthMechanism[]
- */
- public function getAuthMechanismsVisibleFor($visibleFor) {
- return array_filter($this->getAuthMechanisms(), function($authMechanism) use ($visibleFor) {
- return $authMechanism->isVisibleFor($visibleFor);
- });
- }
-
- /**
- * Get authentication mechanisms allowed to be visible for $visibleFor
- *
- * @param int $visibleFor
- * @return AuthMechanism[]
- */
- public function getAuthMechanismsAllowedVisibleFor($visibleFor) {
- return array_filter($this->getAuthMechanisms(), function($authMechanism) use ($visibleFor) {
- return $authMechanism->isAllowedVisibleFor($visibleFor);
- });
- }
-
-
- /**
* @param string $identifier
* @return AuthMechanism|null
*/
diff --git a/apps/files_external/settings.php b/apps/files_external/settings.php
index 29c0553158f..840f1325fb5 100644
--- a/apps/files_external/settings.php
+++ b/apps/files_external/settings.php
@@ -41,8 +41,12 @@ OCP\Util::addStyle('files_external', 'settings');
\OC_Util::addVendorScript('select2/select2');
\OC_Util::addVendorStyle('select2/select2');
-$backends = $backendService->getBackendsVisibleFor(BackendService::VISIBILITY_ADMIN);
-$authMechanisms = $backendService->getAuthMechanismsVisibleFor(BackendService::VISIBILITY_ADMIN);
+$backends = array_filter($backendService->getAvailableBackends(), function($backend) {
+ return $backend->isPermitted(BackendService::USER_ADMIN, BackendService::PERMISSION_CREATE);
+});
+$authMechanisms = array_filter($backendService->getAuthMechanisms(), function($authMechanism) {
+ return $authMechanism->isPermitted(BackendService::USER_ADMIN, BackendService::PERMISSION_CREATE);
+});
foreach ($backends as $backend) {
if ($backend->getCustomJs()) {
\OCP\Util::addScript('files_external', $backend->getCustomJs());
@@ -54,13 +58,19 @@ foreach ($authMechanisms as $authMechanism) {
}
}
+$userBackends = array_filter($backendService->getAvailableBackends(), function($backend) {
+ return $backend->isAllowedPermitted(
+ BackendService::USER_PERSONAL, BackendService::PERMISSION_MOUNT
+ );
+});
+
$tmpl = new OCP\Template('files_external', 'settings');
$tmpl->assign('encryptionEnabled', \OC::$server->getEncryptionManager()->isEnabled());
$tmpl->assign('isAdminPage', true);
$tmpl->assign('storages', $globalStoragesService->getAllStorages());
$tmpl->assign('backends', $backends);
$tmpl->assign('authMechanisms', $authMechanisms);
-$tmpl->assign('userBackends', $backendService->getBackendsAllowedVisibleFor(BackendService::VISIBILITY_PERSONAL));
+$tmpl->assign('userBackends', $userBackends);
$tmpl->assign('dependencies', OC_Mount_Config::dependencyMessage($backendService->getBackends()));
$tmpl->assign('allowUserMounting', $backendService->isUserMountingAllowed());
return $tmpl->fetchPage();
diff --git a/apps/files_external/templates/settings.php b/apps/files_external/templates/settings.php
index 5b79edf6cf7..63a3a19de2f 100644
--- a/apps/files_external/templates/settings.php
+++ b/apps/files_external/templates/settings.php
@@ -197,7 +197,7 @@
<p id="userMountingBackends"<?php if ($_['allowUserMounting'] != 'yes'): ?> class="hidden"<?php endif; ?>>
<?php p($l->t('Allow users to mount the following external storage')); ?><br />
<?php $i = 0; foreach ($_['userBackends'] as $backend): ?>
- <input type="checkbox" id="allowUserMountingBackends<?php p($i); ?>" name="allowUserMountingBackends[]" value="<?php p($backend->getIdentifier()); ?>" <?php if ($backend->isVisibleFor(BackendService::VISIBILITY_PERSONAL)) print_unescaped(' checked="checked"'); ?> />
+ <input type="checkbox" id="allowUserMountingBackends<?php p($i); ?>" name="allowUserMountingBackends[]" value="<?php p($backend->getIdentifier()); ?>" <?php if ($backend->isPermitted(BackendService::USER_PERSONAL, BackendService::PERMISSION_MOUNT)) print_unescaped(' checked="checked"'); ?> />
<label for="allowUserMountingBackends<?php p($i); ?>"><?php p($backend->getText()); ?></label> <br />
<?php $i++; ?>
<?php endforeach; ?>
diff --git a/apps/files_external/tests/controller/storagescontrollertest.php b/apps/files_external/tests/controller/storagescontrollertest.php
index 2b0ee7a14ea..5a2cff99244 100644
--- a/apps/files_external/tests/controller/storagescontrollertest.php
+++ b/apps/files_external/tests/controller/storagescontrollertest.php
@@ -78,7 +78,7 @@ abstract class StoragesControllerTest extends \Test\TestCase {
$backend = $this->getBackendMock();
$backend->method('validateStorage')
->willReturn(true);
- $backend->method('isVisibleFor')
+ $backend->method('isPermitted')
->willReturn(true);
$storageConfig = new StorageConfig(1);
@@ -117,7 +117,7 @@ abstract class StoragesControllerTest extends \Test\TestCase {
$backend = $this->getBackendMock();
$backend->method('validateStorage')
->willReturn(true);
- $backend->method('isVisibleFor')
+ $backend->method('isPermitted')
->willReturn(true);
$storageConfig = new StorageConfig(1);
@@ -248,7 +248,7 @@ abstract class StoragesControllerTest extends \Test\TestCase {
$backend = $this->getBackendMock();
$backend->method('validateStorage')
->willReturn(true);
- $backend->method('isVisibleFor')
+ $backend->method('isPermitted')
->willReturn(true);
$storageConfig = new StorageConfig(255);
@@ -332,7 +332,7 @@ abstract class StoragesControllerTest extends \Test\TestCase {
$backend = $this->getBackendMock();
$backend->method('validateStorage')
->willReturn($backendValidate);
- $backend->method('isVisibleFor')
+ $backend->method('isPermitted')
->willReturn(true);
$authMech = $this->getAuthMechMock();
diff --git a/apps/files_external/tests/controller/userstoragescontrollertest.php b/apps/files_external/tests/controller/userstoragescontrollertest.php
index 9f1a8df8d2e..b9668064e33 100644
--- a/apps/files_external/tests/controller/userstoragescontrollertest.php
+++ b/apps/files_external/tests/controller/userstoragescontrollertest.php
@@ -50,8 +50,8 @@ class UserStoragesControllerTest extends StoragesControllerTest {
public function testAddOrUpdateStorageDisallowedBackend() {
$backend = $this->getBackendMock();
- $backend->method('isVisibleFor')
- ->with(BackendService::VISIBILITY_PERSONAL)
+ $backend->method('isPermitted')
+ ->with(BackendService::USER_PERSONAL, BackendService::PERMISSION_MOUNT)
->willReturn(false);
$authMech = $this->getAuthMechMock();
diff --git a/apps/files_external/tests/service/backendservicetest.php b/apps/files_external/tests/service/backendservicetest.php
index 08f6b9bf988..b37b5e9b466 100644
--- a/apps/files_external/tests/service/backendservicetest.php
+++ b/apps/files_external/tests/service/backendservicetest.php
@@ -83,11 +83,11 @@ class BackendServiceTest extends \Test\TestCase {
$backendAllowed = $this->getBackendMock('\User\Mount\Allowed');
$backendAllowed->expects($this->never())
- ->method('removeVisibility');
+ ->method('removePermission');
$backendNotAllowed = $this->getBackendMock('\User\Mount\NotAllowed');
$backendNotAllowed->expects($this->once())
- ->method('removeVisibility')
- ->with(BackendService::VISIBILITY_PERSONAL);
+ ->method('removePermission')
+ ->with(BackendService::USER_PERSONAL, BackendService::PERMISSION_CREATE | BackendService::PERMISSION_MOUNT);
$backendAlias = $this->getMockBuilder('\OCA\Files_External\Lib\Backend\Backend')
->disableOriginalConstructor()
@@ -126,27 +126,5 @@ class BackendServiceTest extends \Test\TestCase {
$this->assertArrayNotHasKey('identifier:\Backend\NotAvailable', $availableBackends);
}
- public function testGetUserBackends() {
- $service = new BackendService($this->config, $this->l10n);
-
- $backendAllowed = $this->getBackendMock('\User\Mount\Allowed');
- $backendAllowed->expects($this->once())
- ->method('isVisibleFor')
- ->with(BackendService::VISIBILITY_PERSONAL)
- ->will($this->returnValue(true));
- $backendNotAllowed = $this->getBackendMock('\User\Mount\NotAllowed');
- $backendNotAllowed->expects($this->once())
- ->method('isVisibleFor')
- ->with(BackendService::VISIBILITY_PERSONAL)
- ->will($this->returnValue(false));
-
- $service->registerBackend($backendAllowed);
- $service->registerBackend($backendNotAllowed);
-
- $userBackends = $service->getBackendsVisibleFor(BackendService::VISIBILITY_PERSONAL);
- $this->assertArrayHasKey('identifier:\User\Mount\Allowed', $userBackends);
- $this->assertArrayNotHasKey('identifier:\User\Mount\NotAllowed', $userBackends);
- }
-
}