summaryrefslogtreecommitdiffstats
path: root/tests/lib/files/filesystem.php
diff options
context:
space:
mode:
Diffstat (limited to 'tests/lib/files/filesystem.php')
-rw-r--r--tests/lib/files/filesystem.php51
1 files changed, 51 insertions, 0 deletions
diff --git a/tests/lib/files/filesystem.php b/tests/lib/files/filesystem.php
index 90f1dfe581b..53f528af793 100644
--- a/tests/lib/files/filesystem.php
+++ b/tests/lib/files/filesystem.php
@@ -226,4 +226,55 @@ class Filesystem extends \PHPUnit_Framework_TestCase {
$path = $arguments['path'];
$this->assertEquals($path, \OC\Files\Filesystem::normalizePath($path)); //the path passed to the hook should already be normalized
}
+
+ /**
+ * Test that the default cache dir is part of the user's home
+ */
+ public function testMountDefaultCacheDir() {
+ $userId = uniqid('user_');
+ $oldCachePath = \OC_Config::getValue('cache_path', '');
+ // no cache path configured
+ \OC_Config::setValue('cache_path', '');
+
+ \OC_User::createUser($userId, $userId);
+ \OC\Files\Filesystem::initMountPoints($userId);
+
+ $this->assertEquals(
+ '/' . $userId . '/',
+ \OC\Files\Filesystem::getMountPoint('/' . $userId . '/cache')
+ );
+ list($storage, $internalPath) = \OC\Files\Filesystem::resolvePath('/' . $userId . '/cache');
+ $this->assertInstanceOf('\OC\Files\Storage\Home', $storage);
+ $this->assertEquals('cache', $internalPath);
+ \OC_User::deleteUser($userId);
+
+ \OC_Config::setValue('cache_path', $oldCachePath);
+ }
+
+ /**
+ * Test that an external cache is mounted into
+ * the user's home
+ */
+ public function testMountExternalCacheDir() {
+ $userId = uniqid('user_');
+
+ $oldCachePath = \OC_Config::getValue('cache_path', '');
+ // set cache path to temp dir
+ $cachePath = \OC_Helper::tmpFolder() . '/extcache';
+ \OC_Config::setValue('cache_path', $cachePath);
+
+ \OC_User::createUser($userId, $userId);
+ \OC\Files\Filesystem::initMountPoints($userId);
+
+ $this->assertEquals(
+ '/' . $userId . '/cache/',
+ \OC\Files\Filesystem::getMountPoint('/' . $userId . '/cache')
+ );
+ list($storage, $internalPath) = \OC\Files\Filesystem::resolvePath('/' . $userId . '/cache');
+ $this->assertInstanceOf('\OC\Files\Storage\Local', $storage);
+ $this->assertEquals('', $internalPath);
+ \OC_User::deleteUser($userId);
+
+ \OC_Config::setValue('cache_path', $oldCachePath);
+ }
}