diff options
-rw-r--r-- | lib/private/user.php | 4 | ||||
-rw-r--r-- | tests/lib/user.php | 52 |
2 files changed, 45 insertions, 11 deletions
diff --git a/lib/private/user.php b/lib/private/user.php index 04cd06b08bd..b68786c773c 100644 --- a/lib/private/user.php +++ b/lib/private/user.php @@ -198,6 +198,10 @@ class OC_User { // Delete user files in /data/ OC_Helper::rmdirr(OC_Config::getValue('datadirectory', OC::$SERVERROOT . '/data') . '/' . $uid . '/'); + + return true; + } else { + return false; } } diff --git a/tests/lib/user.php b/tests/lib/user.php index 66c7f3f0d74..fdf9e7a08e0 100644 --- a/tests/lib/user.php +++ b/tests/lib/user.php @@ -12,18 +12,26 @@ namespace Test; use OC\Hooks\PublicEmitter; class User extends \PHPUnit_Framework_TestCase { - + /** + * @var \OC_User_Backend | \PHPUnit_Framework_MockObject_MockObject $backend + */ + private $backend; + + protected function setUp(){ + $this->backend = $this->getMock('\OC_User_Dummy'); + $manager = \OC_User::getManager(); + $manager->registerBackend($this->backend); + } + public function testCheckPassword() { - /** - * @var \OC_User_Backend | \PHPUnit_Framework_MockObject_MockObject $backend - */ - $backend = $this->getMock('\OC_User_Dummy'); - $backend->expects($this->once()) + + $this->backend->expects($this->once()) ->method('checkPassword') ->with($this->equalTo('foo'), $this->equalTo('bar')) - ->will($this->returnValue('foo')); + ->will($this->returnValue('foo')) + ; - $backend->expects($this->any()) + $this->backend->expects($this->any()) ->method('implementsActions') ->will($this->returnCallback(function ($actions) { if ($actions === \OC_USER_BACKEND_CHECK_PASSWORD) { @@ -33,11 +41,33 @@ class User extends \PHPUnit_Framework_TestCase { } })); - $manager = \OC_User::getManager(); - $manager->registerBackend($backend); - $uid = \OC_User::checkPassword('foo', 'bar'); $this->assertEquals($uid, 'foo'); } + + 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()); + } }
\ No newline at end of file |