diff options
author | Vincent Petry <pvince81@owncloud.com> | 2016-10-04 12:28:41 +0200 |
---|---|---|
committer | Lukas Reschke <lukas@statuscode.ch> | 2016-11-02 22:21:46 +0100 |
commit | f737426eca338dbc65db6210a09f3034d372701b (patch) | |
tree | 10fbeb022517900955aff8a69e571652ee48d073 /tests/lib/Files/Node | |
parent | c1feae1684934bb52b1edaa67d33d01b377b875a (diff) | |
download | nextcloud-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.php | 57 |
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); + } } |