summaryrefslogtreecommitdiffstats
path: root/apps/files_external/tests/service/storagesservicetest.php
diff options
context:
space:
mode:
Diffstat (limited to 'apps/files_external/tests/service/storagesservicetest.php')
-rw-r--r--apps/files_external/tests/service/storagesservicetest.php59
1 files changed, 59 insertions, 0 deletions
diff --git a/apps/files_external/tests/service/storagesservicetest.php b/apps/files_external/tests/service/storagesservicetest.php
index 397f2a2e5c5..07286106c7b 100644
--- a/apps/files_external/tests/service/storagesservicetest.php
+++ b/apps/files_external/tests/service/storagesservicetest.php
@@ -1,6 +1,7 @@
<?php
/**
* @author Vincent Petry <pvince81@owncloud.com>
+ * @author Robin McCorkell <rmccorkell@owncloud.com>
*
* @copyright Copyright (c) 2015, ownCloud, Inc.
* @license AGPL-3.0
@@ -241,6 +242,64 @@ abstract class StoragesServiceTest extends \Test\TestCase {
$this->service->removeStorage(255);
}
+ public function testCreateStorage() {
+ $mountPoint = 'mount';
+ $backendIdentifier = 'identifier:\OCA\Files_External\Lib\Backend\SMB';
+ $authMechanismIdentifier = 'identifier:\Auth\Mechanism';
+ $backendOptions = ['param' => 'foo', 'param2' => 'bar'];
+ $mountOptions = ['option' => 'foobar'];
+ $applicableUsers = ['user1', 'user2'];
+ $applicableGroups = ['group'];
+ $priority = 123;
+
+ $backend = $this->backendService->getBackend($backendIdentifier);
+ $authMechanism = $this->backendService->getAuthMechanism($authMechanismIdentifier);
+
+ $storage = $this->service->createStorage(
+ $mountPoint,
+ $backendIdentifier,
+ $authMechanismIdentifier,
+ $backendOptions,
+ $mountOptions,
+ $applicableUsers,
+ $applicableGroups,
+ $priority
+ );
+
+ $this->assertEquals('/'.$mountPoint, $storage->getMountPoint());
+ $this->assertEquals($backend, $storage->getBackend());
+ $this->assertEquals($authMechanism, $storage->getAuthMechanism());
+ $this->assertEquals($backendOptions, $storage->getBackendOptions());
+ $this->assertEquals($mountOptions, $storage->getMountOptions());
+ $this->assertEquals($applicableUsers, $storage->getApplicableUsers());
+ $this->assertEquals($applicableGroups, $storage->getApplicableGroups());
+ $this->assertEquals($priority, $storage->getPriority());
+ }
+
+ /**
+ * @expectedException \InvalidArgumentException
+ */
+ public function testCreateStorageInvalidClass() {
+ $this->service->createStorage(
+ 'mount',
+ 'identifier:\OC\Not\A\Backend',
+ 'identifier:\Auth\Mechanism',
+ []
+ );
+ }
+
+ /**
+ * @expectedException \InvalidArgumentException
+ */
+ public function testCreateStorageInvalidAuthMechanismClass() {
+ $this->service->createStorage(
+ 'mount',
+ 'identifier:\OCA\Files_External\Lib\Backend\SMB',
+ 'identifier:\Not\An\Auth\Mechanism',
+ []
+ );
+ }
+
public static function createHookCallback($params) {
self::$hookCalls[] = array(
'signal' => Filesystem::signal_create_mount,