2013-09-25 21:15:27 +04:00
|
|
|
<?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;
|
|
|
|
|
2015-11-19 18:13:54 +03:00
|
|
|
/**
|
|
|
|
* Class User
|
|
|
|
*
|
|
|
|
* @group DB
|
|
|
|
*
|
|
|
|
* @package Test
|
|
|
|
*/
|
2014-11-11 00:59:50 +03:00
|
|
|
class User extends TestCase {
|
2013-10-08 17:33:56 +04:00
|
|
|
/**
|
|
|
|
* @var \OC_User_Backend | \PHPUnit_Framework_MockObject_MockObject $backend
|
|
|
|
*/
|
|
|
|
private $backend;
|
|
|
|
|
|
|
|
protected function setUp(){
|
2014-11-11 00:59:50 +03:00
|
|
|
parent::setUp();
|
|
|
|
|
2015-09-22 01:56:36 +03:00
|
|
|
$this->backend = $this->getMock('\Test\Util\User\Dummy');
|
2013-10-08 17:33:56 +04:00
|
|
|
$manager = \OC_User::getManager();
|
|
|
|
$manager->registerBackend($this->backend);
|
|
|
|
}
|
|
|
|
|
2013-09-25 21:15:27 +04:00
|
|
|
public function testCheckPassword() {
|
2013-10-08 17:33:56 +04:00
|
|
|
|
|
|
|
$this->backend->expects($this->once())
|
2013-09-25 21:15:27 +04:00
|
|
|
->method('checkPassword')
|
|
|
|
->with($this->equalTo('foo'), $this->equalTo('bar'))
|
2013-10-08 17:33:56 +04:00
|
|
|
->will($this->returnValue('foo'))
|
|
|
|
;
|
2013-09-25 21:15:27 +04:00
|
|
|
|
2013-10-08 17:33:56 +04:00
|
|
|
$this->backend->expects($this->any())
|
2013-09-25 21:15:27 +04:00
|
|
|
->method('implementsActions')
|
|
|
|
->will($this->returnCallback(function ($actions) {
|
|
|
|
if ($actions === \OC_USER_BACKEND_CHECK_PASSWORD) {
|
|
|
|
return true;
|
|
|
|
} else {
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
}));
|
|
|
|
|
|
|
|
$uid = \OC_User::checkPassword('foo', 'bar');
|
|
|
|
$this->assertEquals($uid, 'foo');
|
|
|
|
}
|
2013-10-08 17:33:56 +04:00
|
|
|
|
|
|
|
public function testDeleteUser() {
|
|
|
|
$fail = \OC_User::deleteUser('victim');
|
|
|
|
$this->assertFalse($fail);
|
|
|
|
|
|
|
|
$success = \OC_User::createUser('victim', 'password');
|
|
|
|
|
|
|
|
$success = \OC_User::deleteUser('victim');
|
|
|
|
$this->assertTrue($success);
|
|
|
|
}
|
|
|
|
|
|
|
|
public function testCreateUser(){
|
|
|
|
$this->backend->expects($this->any())
|
|
|
|
->method('implementsActions')
|
|
|
|
->will($this->returnCallback(function ($actions) {
|
|
|
|
if ($actions === \OC_USER_BACKEND_CREATE_USER) {
|
|
|
|
return true;
|
|
|
|
} else {
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
}));
|
|
|
|
|
|
|
|
$user = \OC_User::createUser('newuser', 'newpassword');
|
|
|
|
$this->assertEquals('newuser', $user->getUid());
|
|
|
|
}
|
2013-09-25 21:15:27 +04:00
|
|
|
|
2015-11-19 18:13:54 +03:00
|
|
|
}
|