summaryrefslogtreecommitdiffstats
path: root/tests/lib/user
diff options
context:
space:
mode:
authorJoas Schilling <nickvergessen@gmx.de>2016-05-20 15:38:20 +0200
committerThomas Müller <DeepDiver1975@users.noreply.github.com>2016-05-20 15:38:20 +0200
commit94ad54ec9b96d41a614fbbad4a97b34c41a6901f (patch)
treef3eb7cdda2704aaf0cd59d58efe66bcbd34cb67d /tests/lib/user
parent2ef751b1ec28f7b5c7113af60ec8c9fa0ae1cf87 (diff)
downloadnextcloud-server-94ad54ec9b96d41a614fbbad4a97b34c41a6901f.tar.gz
nextcloud-server-94ad54ec9b96d41a614fbbad4a97b34c41a6901f.zip
Move tests/ to PSR-4 (#24731)
* Move a-b to PSR-4 * Move c-d to PSR-4 * Move e+g to PSR-4 * Move h-l to PSR-4 * Move m-r to PSR-4 * Move s-u to PSR-4 * Move files/ to PSR-4 * Move remaining tests to PSR-4 * Remove Test\ from old autoloader
Diffstat (limited to 'tests/lib/user')
-rw-r--r--tests/lib/user/avataruserdummy.php29
-rw-r--r--tests/lib/user/backend.php117
-rw-r--r--tests/lib/user/database.php54
-rw-r--r--tests/lib/user/dummy.php30
-rw-r--r--tests/lib/user/manager.php474
-rw-r--r--tests/lib/user/session.php512
-rw-r--r--tests/lib/user/user.php482
7 files changed, 0 insertions, 1698 deletions
diff --git a/tests/lib/user/avataruserdummy.php b/tests/lib/user/avataruserdummy.php
deleted file mode 100644
index 123825de50f..00000000000
--- a/tests/lib/user/avataruserdummy.php
+++ /dev/null
@@ -1,29 +0,0 @@
-<?php
-/**
-* ownCloud
-*
-* @author Arthur Schiwon
-* @copyright 2013 Arthur Schiwon blizzz@owncloud.com
-*
-* This library is free software; you can redistribute it and/or
-* modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
-* License as published by the Free Software Foundation; either
-* version 3 of the License, or any later version.
-*
-* This library is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU AFFERO GENERAL PUBLIC LICENSE for more details.
-*
-* You should have received a copy of the GNU Affero General Public
-* License along with this library. If not, see <http://www.gnu.org/licenses/>.
-*
-*/
-
-namespace Test\User;
-
-class AvatarUserDummy extends \Test\Util\User\Dummy {
- public function canChangeAvatar($uid) {
- return true;
- }
-}
diff --git a/tests/lib/user/backend.php b/tests/lib/user/backend.php
deleted file mode 100644
index 85ccbac913c..00000000000
--- a/tests/lib/user/backend.php
+++ /dev/null
@@ -1,117 +0,0 @@
-<?php
-/**
-* ownCloud
-*
-* @author Robin Appelman
-* @copyright 2012 Robin Appelman icewind@owncloud.com
-*
-* This library is free software; you can redistribute it and/or
-* modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
-* License as published by the Free Software Foundation; either
-* version 3 of the License, or any later version.
-*
-* This library is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU AFFERO GENERAL PUBLIC LICENSE for more details.
-*
-* You should have received a copy of the GNU Affero General Public
-* License along with this library. If not, see <http://www.gnu.org/licenses/>.
-*
-*/
-
-namespace Test\User;
-
-/**
- * Abstract class to provide the basis of backend-specific unit test classes.
- *
- * All subclasses MUST assign a backend property in setUp() which implements
- * user operations (add, remove, etc.). Test methods in this class will then be
- * run on each separate subclass and backend therein.
- *
- * For an example see /tests/lib/user/dummy.php
- */
-
-abstract class Backend extends \Test\TestCase {
- /**
- * @var \OC\User\Backend $backend
- */
- protected $backend;
-
- /**
- * get a new unique user name
- * test cases can override this in order to clean up created user
- * @return string
- */
- public function getUser() {
- return $this->getUniqueID('test_');
- }
-
- public function testAddRemove() {
- //get the number of groups we start with, in case there are exising groups
- $startCount=count($this->backend->getUsers());
-
- $name1=$this->getUser();
- $name2=$this->getUser();
- $this->backend->createUser($name1, '');
- $count=count($this->backend->getUsers())-$startCount;
- $this->assertEquals(1, $count);
- $this->assertTrue((array_search($name1, $this->backend->getUsers())!==false));
- $this->assertFalse((array_search($name2, $this->backend->getUsers())!==false));
- $this->backend->createUser($name2, '');
- $count=count($this->backend->getUsers())-$startCount;
- $this->assertEquals(2, $count);
- $this->assertTrue((array_search($name1, $this->backend->getUsers())!==false));
- $this->assertTrue((array_search($name2, $this->backend->getUsers())!==false));
-
- $this->backend->deleteUser($name2);
- $count=count($this->backend->getUsers())-$startCount;
- $this->assertEquals(1, $count);
- $this->assertTrue((array_search($name1, $this->backend->getUsers())!==false));
- $this->assertFalse((array_search($name2, $this->backend->getUsers())!==false));
- }
-
- public function testLogin() {
- $name1=$this->getUser();
- $name2=$this->getUser();
-
- $this->assertFalse($this->backend->userExists($name1));
- $this->assertFalse($this->backend->userExists($name2));
-
- $this->backend->createUser($name1, 'pass1');
- $this->backend->createUser($name2, 'pass2');
-
- $this->assertTrue($this->backend->userExists($name1));
- $this->assertTrue($this->backend->userExists($name2));
-
- $this->assertSame($name1, $this->backend->checkPassword($name1, 'pass1'));
- $this->assertSame($name2, $this->backend->checkPassword($name2, 'pass2'));
-
- $this->assertFalse($this->backend->checkPassword($name1, 'pass2'));
- $this->assertFalse($this->backend->checkPassword($name2, 'pass1'));
-
- $this->assertFalse($this->backend->checkPassword($name1, 'dummy'));
- $this->assertFalse($this->backend->checkPassword($name2, 'foobar'));
-
- $this->backend->setPassword($name1, 'newpass1');
- $this->assertFalse($this->backend->checkPassword($name1, 'pass1'));
- $this->assertSame($name1, $this->backend->checkPassword($name1, 'newpass1'));
- $this->assertFalse($this->backend->checkPassword($name2, 'newpass1'));
- }
-
- public function testSearch() {
- $name1 = 'foobarbaz';
- $name2 = 'bazbarfoo';
- $name3 = 'notme';
-
- $this->backend->createUser($name1, 'pass1');
- $this->backend->createUser($name2, 'pass2');
- $this->backend->createUser($name3, 'pass3');
-
- $result = $this->backend->getUsers('bar');
- $this->assertSame(2, count($result));
-
- $result = $this->backend->getDisplayNames('bar');
- $this->assertSame(2, count($result));
- }
-}
diff --git a/tests/lib/user/database.php b/tests/lib/user/database.php
deleted file mode 100644
index 76d6226a7fd..00000000000
--- a/tests/lib/user/database.php
+++ /dev/null
@@ -1,54 +0,0 @@
-<?php
-/**
-* ownCloud
-*
-* @author Robin Appelman
-* @copyright 2012 Robin Appelman icewind@owncloud.com
-*
-* This library is free software; you can redistribute it and/or
-* modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
-* License as published by the Free Software Foundation; either
-* version 3 of the License, or any later version.
-*
-* This library is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU AFFERO GENERAL PUBLIC LICENSE for more details.
-*
-* You should have received a copy of the GNU Affero General Public
-* License along with this library. If not, see <http://www.gnu.org/licenses/>.
-*
-*/
-
-namespace Test\User;
-
-/**
- * Class Test_User_Database
- *
- * @group DB
- */
-class Database extends Backend {
- /** @var array */
- private $users;
-
- public function getUser() {
- $user = parent::getUser();
- $this->users[]=$user;
- return $user;
- }
-
- protected function setUp() {
- parent::setUp();
- $this->backend=new \OC\User\Database();
- }
-
- protected function tearDown() {
- if(!isset($this->users)) {
- return;
- }
- foreach($this->users as $user) {
- $this->backend->deleteUser($user);
- }
- parent::tearDown();
- }
-}
diff --git a/tests/lib/user/dummy.php b/tests/lib/user/dummy.php
deleted file mode 100644
index 50382aa8fe6..00000000000
--- a/tests/lib/user/dummy.php
+++ /dev/null
@@ -1,30 +0,0 @@
-<?php
-/**
-* ownCloud
-*
-* @author Robin Appelman
-* @copyright 2012 Robin Appelman icewind@owncloud.com
-*
-* This library is free software; you can redistribute it and/or
-* modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
-* License as published by the Free Software Foundation; either
-* version 3 of the License, or any later version.
-*
-* This library is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU AFFERO GENERAL PUBLIC LICENSE for more details.
-*
-* You should have received a copy of the GNU Affero General Public
-* License along with this library. If not, see <http://www.gnu.org/licenses/>.
-*
-*/
-
-namespace Test\User;
-
-class Dummy extends Backend {
- protected function setUp() {
- parent::setUp();
- $this->backend=new \Test\Util\User\Dummy();
- }
-}
diff --git a/tests/lib/user/manager.php b/tests/lib/user/manager.php
deleted file mode 100644
index 14221e4a665..00000000000
--- a/tests/lib/user/manager.php
+++ /dev/null
@@ -1,474 +0,0 @@
-<?php
-
-/**
- * Copyright (c) 2013 Robin Appelman <icewind@owncloud.com>
- * This file is licensed under the Affero General Public License version 3 or
- * later.
- * See the COPYING-README file.
- */
-
-namespace Test\User;
-
-/**
- * Class Manager
- *
- * @group DB
- *
- * @package Test\User
- */
-class Manager extends \Test\TestCase {
- public function testGetBackends() {
- $userDummyBackend = $this->getMock('\Test\Util\User\Dummy');
- $manager = new \OC\User\Manager();
- $manager->registerBackend($userDummyBackend);
- $this->assertEquals([$userDummyBackend], $manager->getBackends());
- $dummyDatabaseBackend = $this->getMock('\OC_User_Database');
- $manager->registerBackend($dummyDatabaseBackend);
- $this->assertEquals([$userDummyBackend, $dummyDatabaseBackend], $manager->getBackends());
- }
-
-
- public function testUserExistsSingleBackendExists() {
- /**
- * @var \Test\Util\User\Dummy | \PHPUnit_Framework_MockObject_MockObject $backend
- */
- $backend = $this->getMock('\Test\Util\User\Dummy');
- $backend->expects($this->once())
- ->method('userExists')
- ->with($this->equalTo('foo'))
- ->will($this->returnValue(true));
-
- $manager = new \OC\User\Manager();
- $manager->registerBackend($backend);
-
- $this->assertTrue($manager->userExists('foo'));
- }
-
- public function testUserExistsSingleBackendNotExists() {
- /**
- * @var \Test\Util\User\Dummy | \PHPUnit_Framework_MockObject_MockObject $backend
- */
- $backend = $this->getMock('\Test\Util\User\Dummy');
- $backend->expects($this->once())
- ->method('userExists')
- ->with($this->equalTo('foo'))
- ->will($this->returnValue(false));
-
- $manager = new \OC\User\Manager();
- $manager->registerBackend($backend);
-
- $this->assertFalse($manager->userExists('foo'));
- }
-
- public function testUserExistsNoBackends() {
- $manager = new \OC\User\Manager();
-
- $this->assertFalse($manager->userExists('foo'));
- }
-
- public function testUserExistsTwoBackendsSecondExists() {
- /**
- * @var \Test\Util\User\Dummy | \PHPUnit_Framework_MockObject_MockObject $backend1
- */
- $backend1 = $this->getMock('\Test\Util\User\Dummy');
- $backend1->expects($this->once())
- ->method('userExists')
- ->with($this->equalTo('foo'))
- ->will($this->returnValue(false));
-
- /**
- * @var \Test\Util\User\Dummy | \PHPUnit_Framework_MockObject_MockObject $backend2
- */
- $backend2 = $this->getMock('\Test\Util\User\Dummy');
- $backend2->expects($this->once())
- ->method('userExists')
- ->with($this->equalTo('foo'))
- ->will($this->returnValue(true));
-
- $manager = new \OC\User\Manager();
- $manager->registerBackend($backend1);
- $manager->registerBackend($backend2);
-
- $this->assertTrue($manager->userExists('foo'));
- }
-
- public function testUserExistsTwoBackendsFirstExists() {
- /**
- * @var \Test\Util\User\Dummy | \PHPUnit_Framework_MockObject_MockObject $backend1
- */
- $backend1 = $this->getMock('\Test\Util\User\Dummy');
- $backend1->expects($this->once())
- ->method('userExists')
- ->with($this->equalTo('foo'))
- ->will($this->returnValue(true));
-
- /**
- * @var \Test\Util\User\Dummy | \PHPUnit_Framework_MockObject_MockObject $backend2
- */
- $backend2 = $this->getMock('\Test\Util\User\Dummy');
- $backend2->expects($this->never())
- ->method('userExists');
-
- $manager = new \OC\User\Manager();
- $manager->registerBackend($backend1);
- $manager->registerBackend($backend2);
-
- $this->assertTrue($manager->userExists('foo'));
- }
-
- public function testCheckPassword() {
- /**
- * @var \OC\User\Backend | \PHPUnit_Framework_MockObject_MockObject $backend
- */
- $backend = $this->getMock('\Test\Util\User\Dummy');
- $backend->expects($this->once())
- ->method('checkPassword')
- ->with($this->equalTo('foo'), $this->equalTo('bar'))
- ->will($this->returnValue(true));
-
- $backend->expects($this->any())
- ->method('implementsActions')
- ->will($this->returnCallback(function ($actions) {
- if ($actions === \OC_USER_BACKEND_CHECK_PASSWORD) {
- return true;
- } else {
- return false;
- }
- }));
-
- $manager = new \OC\User\Manager();
- $manager->registerBackend($backend);
-
- $user = $manager->checkPassword('foo', 'bar');
- $this->assertTrue($user instanceof \OC\User\User);
- }
-
- public function testCheckPasswordNotSupported() {
- /**
- * @var \OC\User\Backend | \PHPUnit_Framework_MockObject_MockObject $backend
- */
- $backend = $this->getMock('\Test\Util\User\Dummy');
- $backend->expects($this->never())
- ->method('checkPassword');
-
- $backend->expects($this->any())
- ->method('implementsActions')
- ->will($this->returnValue(false));
-
- $manager = new \OC\User\Manager();
- $manager->registerBackend($backend);
-
- $this->assertFalse($manager->checkPassword('foo', 'bar'));
- }
-
- public function testGetOneBackendExists() {
- /**
- * @var \Test\Util\User\Dummy | \PHPUnit_Framework_MockObject_MockObject $backend
- */
- $backend = $this->getMock('\Test\Util\User\Dummy');
- $backend->expects($this->once())
- ->method('userExists')
- ->with($this->equalTo('foo'))
- ->will($this->returnValue(true));
-
- $manager = new \OC\User\Manager();
- $manager->registerBackend($backend);
-
- $this->assertEquals('foo', $manager->get('foo')->getUID());
- }
-
- public function testGetOneBackendNotExists() {
- /**
- * @var \Test\Util\User\Dummy | \PHPUnit_Framework_MockObject_MockObject $backend
- */
- $backend = $this->getMock('\Test\Util\User\Dummy');
- $backend->expects($this->once())
- ->method('userExists')
- ->with($this->equalTo('foo'))
- ->will($this->returnValue(false));
-
- $manager = new \OC\User\Manager();
- $manager->registerBackend($backend);
-
- $this->assertEquals(null, $manager->get('foo'));
- }
-
- public function testSearchOneBackend() {
- /**
- * @var \Test\Util\User\Dummy | \PHPUnit_Framework_MockObject_MockObject $backend
- */
- $backend = $this->getMock('\Test\Util\User\Dummy');
- $backend->expects($this->once())
- ->method('getUsers')
- ->with($this->equalTo('fo'))
- ->will($this->returnValue(array('foo', 'afoo')));
-
- $manager = new \OC\User\Manager();
- $manager->registerBackend($backend);
-
- $result = $manager->search('fo');
- $this->assertEquals(2, count($result));
- $this->assertEquals('afoo', array_shift($result)->getUID());
- $this->assertEquals('foo', array_shift($result)->getUID());
- }
-
- public function testSearchTwoBackendLimitOffset() {
- /**
- * @var \Test\Util\User\Dummy | \PHPUnit_Framework_MockObject_MockObject $backend1
- */
- $backend1 = $this->getMock('\Test\Util\User\Dummy');
- $backend1->expects($this->once())
- ->method('getUsers')
- ->with($this->equalTo('fo'), $this->equalTo(3), $this->equalTo(1))
- ->will($this->returnValue(array('foo1', 'foo2')));
-
- /**
- * @var \Test\Util\User\Dummy | \PHPUnit_Framework_MockObject_MockObject $backend2
- */
- $backend2 = $this->getMock('\Test\Util\User\Dummy');
- $backend2->expects($this->once())
- ->method('getUsers')
- ->with($this->equalTo('fo'), $this->equalTo(3), $this->equalTo(1))
- ->will($this->returnValue(array('foo3')));
-
- $manager = new \OC\User\Manager();
- $manager->registerBackend($backend1);
- $manager->registerBackend($backend2);
-
- $result = $manager->search('fo', 3, 1);
- $this->assertEquals(3, count($result));
- $this->assertEquals('foo1', array_shift($result)->getUID());
- $this->assertEquals('foo2', array_shift($result)->getUID());
- $this->assertEquals('foo3', array_shift($result)->getUID());
- }
-
- public function testCreateUserSingleBackendNotExists() {
- /**
- * @var \Test\Util\User\Dummy | \PHPUnit_Framework_MockObject_MockObject $backend
- */
- $backend = $this->getMock('\Test\Util\User\Dummy');
- $backend->expects($this->any())
- ->method('implementsActions')
- ->will($this->returnValue(true));
-
- $backend->expects($this->once())
- ->method('createUser')
- ->with($this->equalTo('foo'), $this->equalTo('bar'));
-
- $backend->expects($this->once())
- ->method('userExists')
- ->with($this->equalTo('foo'))
- ->will($this->returnValue(false));
-
- $manager = new \OC\User\Manager();
- $manager->registerBackend($backend);
-
- $user = $manager->createUser('foo', 'bar');
- $this->assertEquals('foo', $user->getUID());
- }
-
- /**
- * @expectedException \Exception
- */
- public function testCreateUserSingleBackendExists() {
- /**
- * @var \Test\Util\User\Dummy | \PHPUnit_Framework_MockObject_MockObject $backend
- */
- $backend = $this->getMock('\Test\Util\User\Dummy');
- $backend->expects($this->any())
- ->method('implementsActions')
- ->will($this->returnValue(true));
-
- $backend->expects($this->never())
- ->method('createUser');
-
- $backend->expects($this->once())
- ->method('userExists')
- ->with($this->equalTo('foo'))
- ->will($this->returnValue(true));
-
- $manager = new \OC\User\Manager();
- $manager->registerBackend($backend);
-
- $manager->createUser('foo', 'bar');
- }
-
- public function testCreateUserSingleBackendNotSupported() {
- /**
- * @var \Test\Util\User\Dummy | \PHPUnit_Framework_MockObject_MockObject $backend
- */
- $backend = $this->getMock('\Test\Util\User\Dummy');
- $backend->expects($this->any())
- ->method('implementsActions')
- ->will($this->returnValue(false));
-
- $backend->expects($this->never())
- ->method('createUser');
-
- $backend->expects($this->once())
- ->method('userExists')
- ->with($this->equalTo('foo'))
- ->will($this->returnValue(false));
-
- $manager = new \OC\User\Manager();
- $manager->registerBackend($backend);
-
- $this->assertFalse($manager->createUser('foo', 'bar'));
- }
-
- public function testCreateUserNoBackends() {
- $manager = new \OC\User\Manager();
-
- $this->assertFalse($manager->createUser('foo', 'bar'));
- }
-
- /**
- * @expectedException \Exception
- */
- public function testCreateUserTwoBackendExists() {
- /**
- * @var \Test\Util\User\Dummy | \PHPUnit_Framework_MockObject_MockObject $backend1
- */
- $backend1 = $this->getMock('\Test\Util\User\Dummy');
- $backend1->expects($this->any())
- ->method('implementsActions')
- ->will($this->returnValue(true));
-
- $backend1->expects($this->never())
- ->method('createUser');
-
- $backend1->expects($this->once())
- ->method('userExists')
- ->with($this->equalTo('foo'))
- ->will($this->returnValue(false));
-
- /**
- * @var \Test\Util\User\Dummy | \PHPUnit_Framework_MockObject_MockObject $backend2
- */
- $backend2 = $this->getMock('\Test\Util\User\Dummy');
- $backend2->expects($this->any())
- ->method('implementsActions')
- ->will($this->returnValue(true));
-
- $backend2->expects($this->never())
- ->method('createUser');
-
- $backend2->expects($this->once())
- ->method('userExists')
- ->with($this->equalTo('foo'))
- ->will($this->returnValue(true));
-
- $manager = new \OC\User\Manager();
- $manager->registerBackend($backend1);
- $manager->registerBackend($backend2);
-
- $manager->createUser('foo', 'bar');
- }
-
- public function testCountUsersNoBackend() {
- $manager = new \OC\User\Manager();
-
- $result = $manager->countUsers();
- $this->assertTrue(is_array($result));
- $this->assertTrue(empty($result));
- }
-
- public function testCountUsersOneBackend() {
- /**
- * @var \Test\Util\User\Dummy | \PHPUnit_Framework_MockObject_MockObject $backend
- */
- $backend = $this->getMock('\Test\Util\User\Dummy');
- $backend->expects($this->once())
- ->method('countUsers')
- ->will($this->returnValue(7));
-
- $backend->expects($this->once())
- ->method('implementsActions')
- ->with(\OC_USER_BACKEND_COUNT_USERS)
- ->will($this->returnValue(true));
-
- $backend->expects($this->once())
- ->method('getBackendName')
- ->will($this->returnValue('Mock_Test_Util_User_Dummy'));
-
- $manager = new \OC\User\Manager();
- $manager->registerBackend($backend);
-
- $result = $manager->countUsers();
- $keys = array_keys($result);
- $this->assertTrue(strpos($keys[0], 'Mock_Test_Util_User_Dummy') !== false);
-
- $users = array_shift($result);
- $this->assertEquals(7, $users);
- }
-
- public function testCountUsersTwoBackends() {
- /**
- * @var \Test\Util\User\Dummy | \PHPUnit_Framework_MockObject_MockObject $backend
- */
- $backend1 = $this->getMock('\Test\Util\User\Dummy');
- $backend1->expects($this->once())
- ->method('countUsers')
- ->will($this->returnValue(7));
-
- $backend1->expects($this->once())
- ->method('implementsActions')
- ->with(\OC_USER_BACKEND_COUNT_USERS)
- ->will($this->returnValue(true));
- $backend1->expects($this->once())
- ->method('getBackendName')
- ->will($this->returnValue('Mock_Test_Util_User_Dummy'));
-
- $backend2 = $this->getMock('\Test\Util\User\Dummy');
- $backend2->expects($this->once())
- ->method('countUsers')
- ->will($this->returnValue(16));
-
- $backend2->expects($this->once())
- ->method('implementsActions')
- ->with(\OC_USER_BACKEND_COUNT_USERS)
- ->will($this->returnValue(true));
- $backend2->expects($this->once())
- ->method('getBackendName')
- ->will($this->returnValue('Mock_Test_Util_User_Dummy'));
-
- $manager = new \OC\User\Manager();
- $manager->registerBackend($backend1);
- $manager->registerBackend($backend2);
-
- $result = $manager->countUsers();
- //because the backends have the same class name, only one value expected
- $this->assertEquals(1, count($result));
- $keys = array_keys($result);
- $this->assertTrue(strpos($keys[0], 'Mock_Test_Util_User_Dummy') !== false);
-
- $users = array_shift($result);
- //users from backends shall be summed up
- $this->assertEquals(7 + 16, $users);
- }
-
- public function testDeleteUser() {
- $config = $this->getMockBuilder('OCP\IConfig')
- ->disableOriginalConstructor()
- ->getMock();
- $config
- ->expects($this->at(0))
- ->method('getUserValue')
- ->with('foo', 'core', 'enabled')
- ->will($this->returnValue(true));
- $config
- ->expects($this->at(1))
- ->method('getUserValue')
- ->with('foo', 'login', 'lastLogin')
- ->will($this->returnValue(0));
-
- $manager = new \OC\User\Manager($config);
- $backend = new \Test\Util\User\Dummy();
-
- $manager->registerBackend($backend);
- $backend->createUser('foo', 'bar');
- $this->assertTrue($manager->userExists('foo'));
- $manager->get('foo')->delete();
- $this->assertFalse($manager->userExists('foo'));
- }
-}
diff --git a/tests/lib/user/session.php b/tests/lib/user/session.php
deleted file mode 100644
index 444735b854f..00000000000
--- a/tests/lib/user/session.php
+++ /dev/null
@@ -1,512 +0,0 @@
-<?php
-
-/**
- * Copyright (c) 2013 Robin Appelman <icewind@owncloud.com>
- * This file is licensed under the Affero General Public License version 3 or
- * later.
- * See the COPYING-README file.
- */
-
-namespace Test\User;
-
-use OC\Session\Memory;
-use OC\User\User;
-
-/**
- * @group DB
- * @package Test\User
- */
-class Session extends \Test\TestCase {
-
- /** @var \OCP\AppFramework\Utility\ITimeFactory */
- private $timeFactory;
-
- /** @var \OC\Authentication\Token\DefaultTokenProvider */
- protected $defaultProvider;
-
- protected function setUp() {
- parent::setUp();
-
- $this->timeFactory = $this->getMock('\OCP\AppFramework\Utility\ITimeFactory');
- $this->timeFactory->expects($this->any())
- ->method('getTime')
- ->will($this->returnValue(10000));
- $this->defaultProvider = $this->getMockBuilder('\OC\Authentication\Token\DefaultTokenProvider')
- ->disableOriginalConstructor()
- ->getMock();
- }
-
- public function testGetUser() {
- $token = new \OC\Authentication\Token\DefaultToken();
-
- $expectedUser = new User('foo', null);
- $session = $this->getMock('\OC\Session\Memory', array(), array(''));
- $session->expects($this->at(0))
- ->method('get')
- ->with('user_id')
- ->will($this->returnValue($expectedUser->getUID()));
- $sessionId = 'abcdef12345';
-
- $manager = $this->getMockBuilder('\OC\User\Manager')
- ->disableOriginalConstructor()
- ->getMock();
- $session->expects($this->once())
- ->method('getId')
- ->will($this->returnValue($sessionId));
- $this->defaultProvider->expects($this->once())
- ->method('getToken')
- ->will($this->returnValue($token));
- $session->expects($this->at(2))
- ->method('get')
- ->with('last_login_check')
- ->will($this->returnValue(null)); // No check has been run yet
- $this->defaultProvider->expects($this->once())
- ->method('getPassword')
- ->with($token, $sessionId)
- ->will($this->returnValue('password123'));
- $manager->expects($this->once())
- ->method('checkPassword')
- ->with($expectedUser->getUID(), 'password123')
- ->will($this->returnValue(true));
- $session->expects($this->at(3))
- ->method('set')
- ->with('last_login_check', 10000);
-
- $session->expects($this->at(4))
- ->method('get')
- ->with('last_token_update')
- ->will($this->returnValue(null)); // No check run so far
- $this->defaultProvider->expects($this->once())
- ->method('updateToken')
- ->with($token);
- $session->expects($this->at(5))
- ->method('set')
- ->with('last_token_update', $this->equalTo(10000));
-
- $manager->expects($this->any())
- ->method('get')
- ->with($expectedUser->getUID())
- ->will($this->returnValue($expectedUser));
-
- $userSession = new \OC\User\Session($manager, $session, $this->timeFactory, $this->defaultProvider);
- $user = $userSession->getUser();
- $this->assertSame($expectedUser, $user);
- }
-
- public function isLoggedInData() {
- return [
- [true],
- [false],
- ];
- }
-
- /**
- * @dataProvider isLoggedInData
- */
- public function testIsLoggedIn($isLoggedIn) {
- $session = $this->getMock('\OC\Session\Memory', array(), array(''));
-
- $manager = $this->getMockBuilder('\OC\User\Manager')
- ->disableOriginalConstructor()
- ->getMock();
-
- $userSession = $this->getMockBuilder('\OC\User\Session')
- ->setConstructorArgs([$manager, $session, $this->timeFactory, $this->defaultProvider])
- ->setMethods([
- 'getUser'
- ])
- ->getMock();
- $user = new User('sepp', null);
- $userSession->expects($this->once())
- ->method('getUser')
- ->will($this->returnValue($isLoggedIn ? $user : null));
- $this->assertEquals($isLoggedIn, $userSession->isLoggedIn());
- }
-
- public function testSetUser() {
- $session = $this->getMock('\OC\Session\Memory', array(), array(''));
- $session->expects($this->once())
- ->method('set')
- ->with('user_id', 'foo');
-
- $manager = $this->getMock('\OC\User\Manager');
-
- $backend = $this->getMock('\Test\Util\User\Dummy');
-
- $user = $this->getMock('\OC\User\User', array(), array('foo', $backend));
- $user->expects($this->once())
- ->method('getUID')
- ->will($this->returnValue('foo'));
-
- $userSession = new \OC\User\Session($manager, $session, $this->timeFactory, $this->defaultProvider);
- $userSession->setUser($user);
- }
-
- public function testLoginValidPasswordEnabled() {
- $session = $this->getMock('\OC\Session\Memory', array(), array(''));
- $session->expects($this->once())
- ->method('regenerateId');
- $session->expects($this->exactly(2))
- ->method('set')
- ->with($this->callback(function ($key) {
- switch ($key) {
- case 'user_id':
- case 'loginname':
- return true;
- break;
- default:
- return false;
- break;
- }
- }, 'foo'));
-
- $managerMethods = get_class_methods('\OC\User\Manager');
- //keep following methods intact in order to ensure hooks are
- //working
- $doNotMock = array('__construct', 'emit', 'listen');
- foreach ($doNotMock as $methodName) {
- $i = array_search($methodName, $managerMethods, true);
- if ($i !== false) {
- unset($managerMethods[$i]);
- }
- }
- $manager = $this->getMock('\OC\User\Manager', $managerMethods, array());
-
- $backend = $this->getMock('\Test\Util\User\Dummy');
-
- $user = $this->getMock('\OC\User\User', array(), array('foo', $backend));
- $user->expects($this->any())
- ->method('isEnabled')
- ->will($this->returnValue(true));
- $user->expects($this->any())
- ->method('getUID')
- ->will($this->returnValue('foo'));
- $user->expects($this->once())
- ->method('updateLastLoginTimestamp');
-
- $manager->expects($this->once())
- ->method('checkPassword')
- ->with('foo', 'bar')
- ->will($this->returnValue($user));
-
- $userSession = $this->getMockBuilder('\OC\User\Session')
- ->setConstructorArgs([$manager, $session, $this->timeFactory, $this->defaultProvider])
- ->setMethods([
- 'prepareUserLogin'
- ])
- ->getMock();
- $userSession->expects($this->once())
- ->method('prepareUserLogin');
- $userSession->login('foo', 'bar');
- $this->assertEquals($user, $userSession->getUser());
- }
-
- /**
- * @expectedException \OC\User\LoginException
- */
- public function testLoginValidPasswordDisabled() {
- $session = $this->getMock('\OC\Session\Memory', array(), array(''));
- $session->expects($this->never())
- ->method('set');
- $session->expects($this->once())
- ->method('regenerateId');
-
- $managerMethods = get_class_methods('\OC\User\Manager');
- //keep following methods intact in order to ensure hooks are
- //working
- $doNotMock = array('__construct', 'emit', 'listen');
- foreach ($doNotMock as $methodName) {
- $i = array_search($methodName, $managerMethods, true);
- if ($i !== false) {
- unset($managerMethods[$i]);
- }
- }
- $manager = $this->getMock('\OC\User\Manager', $managerMethods, array());
-
- $backend = $this->getMock('\Test\Util\User\Dummy');
-
- $user = $this->getMock('\OC\User\User', array(), array('foo', $backend));
- $user->expects($this->any())
- ->method('isEnabled')
- ->will($this->returnValue(false));
- $user->expects($this->never())
- ->method('updateLastLoginTimestamp');
-
- $manager->expects($this->once())
- ->method('checkPassword')
- ->with('foo', 'bar')
- ->will($this->returnValue($user));
-
- $userSession = new \OC\User\Session($manager, $session, $this->timeFactory, $this->defaultProvider);
- $userSession->login('foo', 'bar');
- }
-
- public function testLoginInvalidPassword() {
- $session = $this->getMock('\OC\Session\Memory', array(), array(''));
- $session->expects($this->never())
- ->method('set');
- $session->expects($this->once())
- ->method('regenerateId');
-
- $managerMethods = get_class_methods('\OC\User\Manager');
- //keep following methods intact in order to ensure hooks are
- //working
- $doNotMock = array('__construct', 'emit', 'listen');
- foreach ($doNotMock as $methodName) {
- $i = array_search($methodName, $managerMethods, true);
- if ($i !== false) {
- unset($managerMethods[$i]);
- }
- }
- $manager = $this->getMock('\OC\User\Manager', $managerMethods, array());
-
- $backend = $this->getMock('\Test\Util\User\Dummy');
-
- $user = $this->getMock('\OC\User\User', array(), array('foo', $backend));
- $user->expects($this->never())
- ->method('isEnabled');
- $user->expects($this->never())
- ->method('updateLastLoginTimestamp');
-
- $manager->expects($this->once())
- ->method('checkPassword')
- ->with('foo', 'bar')
- ->will($this->returnValue(false));
-
- $userSession = new \OC\User\Session($manager, $session, $this->timeFactory, $this->defaultProvider);
- $userSession->login('foo', 'bar');
- }
-
- public function testLoginNonExisting() {
- $session = $this->getMock('\OC\Session\Memory', array(), array(''));
- $session->expects($this->never())
- ->method('set');
- $session->expects($this->once())
- ->method('regenerateId');
-
- $manager = $this->getMock('\OC\User\Manager');
-
- $backend = $this->getMock('\Test\Util\User\Dummy');
-
- $manager->expects($this->once())
- ->method('checkPassword')
- ->with('foo', 'bar')
- ->will($this->returnValue(false));
-
- $userSession = new \OC\User\Session($manager, $session, $this->timeFactory, $this->defaultProvider);
- $userSession->login('foo', 'bar');
- }
-
- public function testRememberLoginValidToken() {
- $session = $this->getMock('\OC\Session\Memory', array(), array(''));
- $session->expects($this->exactly(1))
- ->method('set')
- ->with($this->callback(function ($key) {
- switch ($key) {
- case 'user_id':
- return true;
- default:
- return false;
- }
- }, 'foo'));
- $session->expects($this->once())
- ->method('regenerateId');
-
- $managerMethods = get_class_methods('\OC\User\Manager');
- //keep following methods intact in order to ensure hooks are
- //working
- $doNotMock = array('__construct', 'emit', 'listen');
- foreach ($doNotMock as $methodName) {
- $i = array_search($methodName, $managerMethods, true);
- if ($i !== false) {
- unset($managerMethods[$i]);
- }
- }
- $manager = $this->getMock('\OC\User\Manager', $managerMethods, array());
-
- $backend = $this->getMock('\Test\Util\User\Dummy');
-
- $user = $this->getMock('\OC\User\User', array(), array('foo', $backend));
-
- $user->expects($this->any())
- ->method('getUID')
- ->will($this->returnValue('foo'));
- $user->expects($this->once())
- ->method('updateLastLoginTimestamp');
-
- $manager->expects($this->once())
- ->method('get')
- ->with('foo')
- ->will($this->returnValue($user));
-
- //prepare login token
- $token = 'goodToken';
- \OC::$server->getConfig()->setUserValue('foo', 'login_token', $token, time());
-
- $userSession = $this->getMock(
- '\OC\User\Session',
- //override, otherwise tests will fail because of setcookie()
- array('setMagicInCookie'),
- //there are passed as parameters to the constructor
- array($manager, $session, $this->timeFactory, $this->defaultProvider));
-
- $granted = $userSession->loginWithCookie('foo', $token);
-
- $this->assertSame($granted, true);
- }
-
- public function testRememberLoginInvalidToken() {
- $session = $this->getMock('\OC\Session\Memory', array(), array(''));
- $session->expects($this->never())
- ->method('set');
- $session->expects($this->once())
- ->method('regenerateId');
-
- $managerMethods = get_class_methods('\OC\User\Manager');
- //keep following methods intact in order to ensure hooks are
- //working
- $doNotMock = array('__construct', 'emit', 'listen');
- foreach ($doNotMock as $methodName) {
- $i = array_search($methodName, $managerMethods, true);
- if ($i !== false) {
- unset($managerMethods[$i]);
- }
- }
- $manager = $this->getMock('\OC\User\Manager', $managerMethods, array());
-
- $backend = $this->getMock('\Test\Util\User\Dummy');
-
- $user = $this->getMock('\OC\User\User', array(), array('foo', $backend));
-
- $user->expects($this->any())
- ->method('getUID')
- ->will($this->returnValue('foo'));
- $user->expects($this->never())
- ->method('updateLastLoginTimestamp');
-
- $manager->expects($this->once())
- ->method('get')
- ->with('foo')
- ->will($this->returnValue($user));
-
- //prepare login token
- $token = 'goodToken';
- \OC::$server->getConfig()->setUserValue('foo', 'login_token', $token, time());
-
- $userSession = new \OC\User\Session($manager, $session, $this->timeFactory, $this->defaultProvider);
- $granted = $userSession->loginWithCookie('foo', 'badToken');
-
- $this->assertSame($granted, false);
- }
-
- public function testRememberLoginInvalidUser() {
- $session = $this->getMock('\OC\Session\Memory', array(), array(''));
- $session->expects($this->never())
- ->method('set');
- $session->expects($this->once())
- ->method('regenerateId');
-
- $managerMethods = get_class_methods('\OC\User\Manager');
- //keep following methods intact in order to ensure hooks are
- //working
- $doNotMock = array('__construct', 'emit', 'listen');
- foreach ($doNotMock as $methodName) {
- $i = array_search($methodName, $managerMethods, true);
- if ($i !== false) {
- unset($managerMethods[$i]);
- }
- }
- $manager = $this->getMock('\OC\User\Manager', $managerMethods, array());
-
- $backend = $this->getMock('\Test\Util\User\Dummy');
-
- $user = $this->getMock('\OC\User\User', array(), array('foo', $backend));
-
- $user->expects($this->never())
- ->method('getUID');
- $user->expects($this->never())
- ->method('updateLastLoginTimestamp');
-
- $manager->expects($this->once())
- ->method('get')
- ->with('foo')
- ->will($this->returnValue(null));
-
- //prepare login token
- $token = 'goodToken';
- \OC::$server->getConfig()->setUserValue('foo', 'login_token', $token, time());
-
- $userSession = new \OC\User\Session($manager, $session, $this->timeFactory, $this->defaultProvider);
- $granted = $userSession->loginWithCookie('foo', $token);
-
- $this->assertSame($granted, false);
- }
-
- public function testActiveUserAfterSetSession() {
- $users = array(
- 'foo' => new User('foo', null),
- 'bar' => new User('bar', null)
- );
-
- $manager = $this->getMockBuilder('\OC\User\Manager')
- ->disableOriginalConstructor()
- ->getMock();
-
- $manager->expects($this->any())
- ->method('get')
- ->will($this->returnCallback(function ($uid) use ($users) {
- return $users[$uid];
- }));
-
- $session = new Memory('');
- $session->set('user_id', 'foo');
- $userSession = $this->getMockBuilder('\OC\User\Session')
- ->setConstructorArgs([$manager, $session, $this->timeFactory, $this->defaultProvider])
- ->setMethods([
- 'validateSession'
- ])
- ->getMock();
- $userSession->expects($this->any())
- ->method('validateSession');
-
- $this->assertEquals($users['foo'], $userSession->getUser());
-
- $session2 = new Memory('');
- $session2->set('user_id', 'bar');
- $userSession->setSession($session2);
- $this->assertEquals($users['bar'], $userSession->getUser());
- }
-
- public function testTryTokenLoginWithDisabledUser() {
- $manager = $this->getMockBuilder('\OC\User\Manager')
- ->disableOriginalConstructor()
- ->getMock();
- $session = new Memory('');
- $token = $this->getMock('\OC\Authentication\Token\IToken');
- $user = $this->getMock('\OCP\IUser');
- $userSession = new \OC\User\Session($manager, $session, $this->timeFactory, $this->defaultProvider);
- $request = $this->getMock('\OCP\IRequest');
-
- $request->expects($this->once())
- ->method('getHeader')
- ->with('Authorization')
- ->will($this->returnValue('token xxxxx'));
- $this->defaultProvider->expects($this->once())
- ->method('validateToken')
- ->with('xxxxx')
- ->will($this->returnValue($token));
- $token->expects($this->once())
- ->method('getUID')
- ->will($this->returnValue('user123'));
- $manager->expects($this->once())
- ->method('get')
- ->with('user123')
- ->will($this->returnValue($user));
- $user->expects($this->once())
- ->method('isEnabled')
- ->will($this->returnValue(false));
-
- $this->assertFalse($userSession->tryTokenLogin($request));
- }
-
-}
diff --git a/tests/lib/user/user.php b/tests/lib/user/user.php
deleted file mode 100644
index 71be3691003..00000000000
--- a/tests/lib/user/user.php
+++ /dev/null
@@ -1,482 +0,0 @@
-<?php
-
-/**
- * Copyright (c) 2013 Robin Appelman <icewind@owncloud.com>
- * This file is licensed under the Affero General Public License version 3 or
- * later.
- * See the COPYING-README file.
- */
-
-namespace Test\User;
-
-use OC\Hooks\PublicEmitter;
-
-/**
- * Class User
- *
- * @group DB
- *
- * @package Test\User
- */
-class User extends \Test\TestCase {
- public function testDisplayName() {
- /**
- * @var \OC\User\Backend | \PHPUnit_Framework_MockObject_MockObject $backend
- */
- $backend = $this->getMock('\OC\User\Backend');
- $backend->expects($this->once())
- ->method('getDisplayName')
- ->with($this->equalTo('foo'))
- ->will($this->returnValue('Foo'));
-
- $backend->expects($this->any())
- ->method('implementsActions')
- ->with($this->equalTo(\OC\User\Backend::GET_DISPLAYNAME))
- ->will($this->returnValue(true));
-
- $user = new \OC\User\User('foo', $backend);
- $this->assertEquals('Foo', $user->getDisplayName());
- }
-
- /**
- * if the display name contain whitespaces only, we expect the uid as result
- */
- public function testDisplayNameEmpty() {
- /**
- * @var \OC\User\Backend | \PHPUnit_Framework_MockObject_MockObject $backend
- */
- $backend = $this->getMock('\OC\User\Backend');
- $backend->expects($this->once())
- ->method('getDisplayName')
- ->with($this->equalTo('foo'))
- ->will($this->returnValue(' '));
-
- $backend->expects($this->any())
- ->method('implementsActions')
- ->with($this->equalTo(\OC\User\Backend::GET_DISPLAYNAME))
- ->will($this->returnValue(true));
-
- $user = new \OC\User\User('foo', $backend);
- $this->assertEquals('foo', $user->getDisplayName());
- }
-
- public function testDisplayNameNotSupported() {
- /**
- * @var \OC\User\Backend | \PHPUnit_Framework_MockObject_MockObject $backend
- */
- $backend = $this->getMock('\OC\User\Backend');
- $backend->expects($this->never())
- ->method('getDisplayName');
-
- $backend->expects($this->any())
- ->method('implementsActions')
- ->with($this->equalTo(\OC\User\Backend::GET_DISPLAYNAME))
- ->will($this->returnValue(false));
-
- $user = new \OC\User\User('foo', $backend);
- $this->assertEquals('foo', $user->getDisplayName());
- }
-
- public function testSetPassword() {
- /**
- * @var \OC\User\Backend | \PHPUnit_Framework_MockObject_MockObject $backend
- */
- $backend = $this->getMock('\Test\Util\User\Dummy');
- $backend->expects($this->once())
- ->method('setPassword')
- ->with($this->equalTo('foo'), $this->equalTo('bar'));
-
- $backend->expects($this->any())
- ->method('implementsActions')
- ->will($this->returnCallback(function ($actions) {
- if ($actions === \OC\User\Backend::SET_PASSWORD) {
- return true;
- } else {
- return false;
- }
- }));
-
- $user = new \OC\User\User('foo', $backend);
- $this->assertTrue($user->setPassword('bar',''));
- }
-
- public function testSetPasswordNotSupported() {
- /**
- * @var \OC\User\Backend | \PHPUnit_Framework_MockObject_MockObject $backend
- */
- $backend = $this->getMock('\Test\Util\User\Dummy');
- $backend->expects($this->never())
- ->method('setPassword');
-
- $backend->expects($this->any())
- ->method('implementsActions')
- ->will($this->returnValue(false));
-
- $user = new \OC\User\User('foo', $backend);
- $this->assertFalse($user->setPassword('bar',''));
- }
-
- public function testChangeAvatarSupportedYes() {
- /**
- * @var \OC\User\Backend | \PHPUnit_Framework_MockObject_MockObject $backend
- */
- require_once 'avataruserdummy.php';
- $backend = $this->getMock('Test\User\AvatarUserDummy');
- $backend->expects($this->once())
- ->method('canChangeAvatar')
- ->with($this->equalTo('foo'))
- ->will($this->returnValue(true));
-
- $backend->expects($this->any())
- ->method('implementsActions')
- ->will($this->returnCallback(function ($actions) {
- if ($actions === \OC\User\Backend::PROVIDE_AVATAR) {
- return true;
- } else {
- return false;
- }
- }));
-
- $user = new \OC\User\User('foo', $backend);
- $this->assertTrue($user->canChangeAvatar());
- }
-
- public function testChangeAvatarSupportedNo() {
- /**
- * @var \OC\User\Backend | \PHPUnit_Framework_MockObject_MockObject $backend
- */
- require_once 'avataruserdummy.php';
- $backend = $this->getMock('Test\User\AvatarUserDummy');
- $backend->expects($this->once())
- ->method('canChangeAvatar')
- ->with($this->equalTo('foo'))
- ->will($this->returnValue(false));
-
- $backend->expects($this->any())
- ->method('implementsActions')
- ->will($this->returnCallback(function ($actions) {
- if ($actions === \OC\User\Backend::PROVIDE_AVATAR) {
- return true;
- } else {
- return false;
- }
- }));
-
- $user = new \OC\User\User('foo', $backend);
- $this->assertFalse($user->canChangeAvatar());
- }
-
- public function testChangeAvatarNotSupported() {
- /**
- * @var \OC\User\Backend | \PHPUnit_Framework_MockObject_MockObject $backend
- */
- require_once 'avataruserdummy.php';
- $backend = $this->getMock('Test\User\AvatarUserDummy');
- $backend->expects($this->never())
- ->method('canChangeAvatar');
-
- $backend->expects($this->any())
- ->method('implementsActions')
- ->will($this->returnCallback(function ($actions) {
- return false;
- }));
-
- $user = new \OC\User\User('foo', $backend);
- $this->assertTrue($user->canChangeAvatar());
- }
-
- public function testDelete() {
- /**
- * @var \OC\User\Backend | \PHPUnit_Framework_MockObject_MockObject $backend
- */
- $backend = $this->getMock('\Test\Util\User\Dummy');
- $backend->expects($this->once())
- ->method('deleteUser')
- ->with($this->equalTo('foo'));
-
- $user = new \OC\User\User('foo', $backend);
- $this->assertTrue($user->delete());
- }
-
- public function testGetHome() {
- /**
- * @var \OC\User\Backend | \PHPUnit_Framework_MockObject_MockObject $backend
- */
- $backend = $this->getMock('\Test\Util\User\Dummy');
- $backend->expects($this->once())
- ->method('getHome')
- ->with($this->equalTo('foo'))
- ->will($this->returnValue('/home/foo'));
-
- $backend->expects($this->any())
- ->method('implementsActions')
- ->will($this->returnCallback(function ($actions) {
- if ($actions === \OC\User\Backend::GET_HOME) {
- return true;
- } else {
- return false;
- }
- }));
-
- $user = new \OC\User\User('foo', $backend);
- $this->assertEquals('/home/foo', $user->getHome());
- }
-
- public function testGetBackendClassName() {
- $user = new \OC\User\User('foo', new \Test\Util\User\Dummy());
- $this->assertEquals('Dummy', $user->getBackendClassName());
- $user = new \OC\User\User('foo', new \OC\User\Database());
- $this->assertEquals('Database', $user->getBackendClassName());
- }
-
- public function testGetHomeNotSupported() {
- /**
- * @var \OC\User\Backend | \PHPUnit_Framework_MockObject_MockObject $backend
- */
- $backend = $this->getMock('\Test\Util\User\Dummy');
- $backend->expects($this->never())
- ->method('getHome');
-
- $backend->expects($this->any())
- ->method('implementsActions')
- ->will($this->returnValue(false));
-
- $allConfig = $this->getMockBuilder('\OCP\IConfig')
- ->disableOriginalConstructor()
- ->getMock();
- $allConfig->expects($this->any())
- ->method('getUserValue')
- ->will($this->returnValue(true));
- $allConfig->expects($this->any())
- ->method('getSystemValue')
- ->with($this->equalTo('datadirectory'))
- ->will($this->returnValue('arbitrary/path'));
-
- $user = new \OC\User\User('foo', $backend, null, $allConfig);
- $this->assertEquals('arbitrary/path/foo', $user->getHome());
- }
-
- public function testCanChangePassword() {
- /**
- * @var \OC\User\Backend | \PHPUnit_Framework_MockObject_MockObject $backend
- */
- $backend = $this->getMock('\Test\Util\User\Dummy');
-
- $backend->expects($this->any())
- ->method('implementsActions')
- ->will($this->returnCallback(function ($actions) {
- if ($actions === \OC\User\Backend::SET_PASSWORD) {
- return true;
- } else {
- return false;
- }
- }));
-
- $user = new \OC\User\User('foo', $backend);
- $this->assertTrue($user->canChangePassword());
- }
-
- public function testCanChangePasswordNotSupported() {
- /**
- * @var \OC\User\Backend | \PHPUnit_Framework_MockObject_MockObject $backend
- */
- $backend = $this->getMock('\Test\Util\User\Dummy');
-
- $backend->expects($this->any())
- ->method('implementsActions')
- ->will($this->returnValue(false));
-
- $user = new \OC\User\User('foo', $backend);
- $this->assertFalse($user->canChangePassword());
- }
-
- public function testCanChangeDisplayName() {
- /**
- * @var \OC\User\Backend | \PHPUnit_Framework_MockObject_MockObject $backend
- */
- $backend = $this->getMock('\Test\Util\User\Dummy');
-
- $backend->expects($this->any())
- ->method('implementsActions')
- ->will($this->returnCallback(function ($actions) {
- if ($actions === \OC\User\Backend::SET_DISPLAYNAME) {
- return true;
- } else {
- return false;
- }
- }));
-
- $user = new \OC\User\User('foo', $backend);
- $this->assertTrue($user->canChangeDisplayName());
- }
-
- public function testCanChangeDisplayNameNotSupported() {
- /**
- * @var \OC\User\Backend | \PHPUnit_Framework_MockObject_MockObject $backend
- */
- $backend = $this->getMock('\Test\Util\User\Dummy');
-
- $backend->expects($this->any())
- ->method('implementsActions')
- ->will($this->returnValue(false));
-
- $user = new \OC\User\User('foo', $backend);
- $this->assertFalse($user->canChangeDisplayName());
- }
-
- public function testSetDisplayNameSupported() {
- /**
- * @var \OC\User\Backend | \PHPUnit_Framework_MockObject_MockObject $backend
- */
- $backend = $this->getMock('\OC\User\Database');
-
- $backend->expects($this->any())
- ->method('implementsActions')
- ->will($this->returnCallback(function ($actions) {
- if ($actions === \OC\User\Backend::SET_DISPLAYNAME) {
- return true;
- } else {
- return false;
- }
- }));
-
- $backend->expects($this->once())
- ->method('setDisplayName')
- ->with('foo','Foo')
- ->willReturn(true);
-
- $user = new \OC\User\User('foo', $backend);
- $this->assertTrue($user->setDisplayName('Foo'));
- $this->assertEquals('Foo',$user->getDisplayName());
- }
-
- /**
- * don't allow display names containing whitespaces only
- */
- public function testSetDisplayNameEmpty() {
- /**
- * @var \OC\User\Backend | \PHPUnit_Framework_MockObject_MockObject $backend
- */
- $backend = $this->getMock('\OC\User\Database');
-
- $backend->expects($this->any())
- ->method('implementsActions')
- ->will($this->returnCallback(function ($actions) {
- if ($actions === \OC\User\Backend::SET_DISPLAYNAME) {
- return true;
- } else {
- return false;
- }
- }));
-
- $user = new \OC\User\User('foo', $backend);
- $this->assertFalse($user->setDisplayName(' '));
- $this->assertEquals('foo',$user->getDisplayName());
- }
-
- public function testSetDisplayNameNotSupported() {
- /**
- * @var \OC\User\Backend | \PHPUnit_Framework_MockObject_MockObject $backend
- */
- $backend = $this->getMock('\OC\User\Database');
-
- $backend->expects($this->any())
- ->method('implementsActions')
- ->will($this->returnCallback(function ($actions) {
- return false;
- }));
-
- $backend->expects($this->never())
- ->method('setDisplayName');
-
- $user = new \OC\User\User('foo', $backend);
- $this->assertFalse($user->setDisplayName('Foo'));
- $this->assertEquals('foo',$user->getDisplayName());
- }
-
- public function testSetPasswordHooks() {
- $hooksCalled = 0;
- $test = $this;
-
- /**
- * @var \OC\User\Backend | \PHPUnit_Framework_MockObject_MockObject $backend
- */
- $backend = $this->getMock('\Test\Util\User\Dummy');
- $backend->expects($this->once())
- ->method('setPassword');
-
- /**
- * @param \OC\User\User $user
- * @param string $password
- */
- $hook = function ($user, $password) use ($test, &$hooksCalled) {
- $hooksCalled++;
- $test->assertEquals('foo', $user->getUID());
- $test->assertEquals('bar', $password);
- };
-
- $emitter = new PublicEmitter();
- $emitter->listen('\OC\User', 'preSetPassword', $hook);
- $emitter->listen('\OC\User', 'postSetPassword', $hook);
-
- $backend->expects($this->any())
- ->method('implementsActions')
- ->will($this->returnCallback(function ($actions) {
- if ($actions === \OC\User\Backend::SET_PASSWORD) {
- return true;
- } else {
- return false;
- }
- }));
-
- $user = new \OC\User\User('foo', $backend, $emitter);
-
- $user->setPassword('bar','');
- $this->assertEquals(2, $hooksCalled);
- }
-
- public function testDeleteHooks() {
- $hooksCalled = 0;
- $test = $this;
-
- /**
- * @var \OC\User\Backend | \PHPUnit_Framework_MockObject_MockObject $backend
- */
- $backend = $this->getMock('\Test\Util\User\Dummy');
- $backend->expects($this->once())
- ->method('deleteUser');
-
- /**
- * @param \OC\User\User $user
- */
- $hook = function ($user) use ($test, &$hooksCalled) {
- $hooksCalled++;
- $test->assertEquals('foo', $user->getUID());
- };
-
- $emitter = new PublicEmitter();
- $emitter->listen('\OC\User', 'preDelete', $hook);
- $emitter->listen('\OC\User', 'postDelete', $hook);
-
- $user = new \OC\User\User('foo', $backend, $emitter);
- $this->assertTrue($user->delete());
- $this->assertEquals(2, $hooksCalled);
- }
-
- public function testGetCloudId() {
- /**
- * @var \OC\User\Backend | \PHPUnit_Framework_MockObject_MockObject $backend
- */
- $backend = $this->getMock('\Test\Util\User\Dummy');
- $urlGenerator = $this->getMockBuilder('\OC\URLGenerator')
- ->setMethods(['getAbsoluteURL'])
- ->disableOriginalConstructor()->getMock();
- $urlGenerator
- ->expects($this->any())
- ->method('getAbsoluteURL')
- ->withAnyParameters()
- ->willReturn('http://localhost:8888/owncloud');
- $user = new \OC\User\User('foo', $backend, null, null, $urlGenerator);
- $this->assertEquals("foo@localhost:8888/owncloud", $user->getCloudId());
- }
-}