aboutsummaryrefslogtreecommitdiffstats
path: root/tests/lib/Files/Node
diff options
context:
space:
mode:
authorVincent Petry <pvince81@owncloud.com>2016-10-04 12:28:41 +0200
committerLukas Reschke <lukas@statuscode.ch>2016-11-02 22:21:46 +0100
commitf737426eca338dbc65db6210a09f3034d372701b (patch)
tree10fbeb022517900955aff8a69e571652ee48d073 /tests/lib/Files/Node
parentc1feae1684934bb52b1edaa67d33d01b377b875a (diff)
downloadnextcloud-server-f737426eca338dbc65db6210a09f3034d372701b.tar.gz
nextcloud-server-f737426eca338dbc65db6210a09f3034d372701b.zip
Add using casing check/fix for initMountPoints
Diffstat (limited to 'tests/lib/Files/Node')
-rw-r--r--tests/lib/Files/Node/RootTest.php57
1 files changed, 57 insertions, 0 deletions
diff --git a/tests/lib/Files/Node/RootTest.php b/tests/lib/Files/Node/RootTest.php
index f42a42c42b1..35ba8a6c223 100644
--- a/tests/lib/Files/Node/RootTest.php
+++ b/tests/lib/Files/Node/RootTest.php
@@ -9,6 +9,8 @@
namespace Test\Files\Node;
use OC\Files\FileInfo;
+use OC\Files\Mount\Manager;
+use OC\User\NoUserException;
class RootTest extends \Test\TestCase {
/** @var \OC\User\User */
@@ -125,4 +127,59 @@ class RootTest extends \Test\TestCase {
$root->get('/bar/foo');
}
+
+ public function testGetUserFolder() {
+ $this->logout();
+ $manager = new Manager();
+ /**
+ * @var \OC\Files\View | \PHPUnit_Framework_MockObject_MockObject $view
+ */
+ $view = new \OC\Files\View();
+
+ $user1 = $this->getUniqueID('user1_');
+ $user2 = $this->getUniqueID('user2_');
+
+ \OC_User::clearBackends();
+ // needed for loginName2UserName mapping
+ $userBackend = $this->getMock('\OC\User\Database');
+ \OC::$server->getUserManager()->registerBackend($userBackend);
+
+ $userBackend->expects($this->any())
+ ->method('userExists')
+ ->will($this->returnValueMap([
+ [$user1, true],
+ [$user2, true],
+ [strtoupper($user1), true],
+ [strtoupper($user2), true],
+ ]));
+ $userBackend->expects($this->any())
+ ->method('loginName2UserName')
+ ->will($this->returnValueMap([
+ [strtoupper($user1), $user1],
+ [$user1, $user1],
+ [strtoupper($user2), $user2],
+ [$user2, $user2],
+ ]));
+
+ $this->loginAsUser($user1);
+ $root = new \OC\Files\Node\Root($manager, $view, null, $this->userMountCache);
+
+ $folder = $root->getUserFolder($user1);
+ $this->assertEquals('/' . $user1 . '/files', $folder->getPath());
+
+ $folder = $root->getUserFolder($user2);
+ $this->assertEquals('/' . $user2 . '/files', $folder->getPath());
+
+ // case difference must not matter here
+ $folder = $root->getUserFolder(strtoupper($user2));
+ $this->assertEquals('/' . $user2 . '/files', $folder->getPath());
+
+ $thrown = false;
+ try {
+ $folder = $root->getUserFolder($this->getUniqueID('unexist'));
+ } catch (NoUserException $e) {
+ $thrown = true;
+ }
+ $this->assertTrue($thrown);
+ }
}