Merge pull request #18702 from owncloud/ext-emptymount

Allow an empty mount point
This commit is contained in:
Robin Appelman 2015-08-31 15:28:41 +02:00
commit 3e9533ae11
3 changed files with 35 additions and 2 deletions

View File

@ -172,7 +172,7 @@ abstract class StoragesService {
// the root mount point is in the format "/$user/files/the/mount/point"
// we remove the "/$user/files" prefix
$parts = explode('/', trim($rootMountPath, '/'), 3);
$parts = explode('/', ltrim($rootMountPath, '/'), 3);
if (count($parts) < 3) {
// something went wrong, skip
\OCP\Util::writeLog(
@ -183,7 +183,7 @@ abstract class StoragesService {
continue;
}
$relativeMountPath = $parts[2];
$relativeMountPath = rtrim($parts[2], '/');
// note: we cannot do this after the loop because the decrypted config
// options might be needed for the config hash

View File

@ -914,4 +914,32 @@ class GlobalStoragesServiceTest extends StoragesServiceTest {
$this->assertEquals('identifier:\Auth\Mechanism', $storage2->getAuthMechanism()->getIdentifier());
}
public function testReadEmptyMountPoint() {
$configFile = $this->dataDir . '/mount.json';
$json = [
'user' => [
'user1' => [
'/$user/files/' => [
'backend' => 'identifier:\OCA\Files_External\Lib\Backend\SFTP',
'authMechanism' => 'identifier:\Auth\Mechanism',
'options' => [],
'mountOptions' => [],
],
]
]
];
file_put_contents($configFile, json_encode($json));
$allStorages = $this->service->getAllStorages();
$this->assertCount(1, $allStorages);
$storage1 = $allStorages[1];
$this->assertEquals('/', $storage1->getMountPoint());
}
}

View File

@ -212,4 +212,9 @@ class UserGlobalStoragesServiceTest extends GlobalStoragesServiceTest {
$this->assertTrue(true);
}
public function testReadEmptyMountPoint() {
// we don't test this here
$this->assertTrue(true);
}
}