diff options
author | Lukas Reschke <lukas@statuscode.ch> | 2016-10-01 20:15:51 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-10-01 20:15:51 +0200 |
commit | 793d3868c22d8d5f96aa1d8c7213bc0722421316 (patch) | |
tree | 26d0b3e288ef1a3038ef8678baf888a1956c92dc /tests | |
parent | da03018add9d4dcd1ff0bd00089a61a06e619a13 (diff) | |
parent | a1e4b17ff44cc4476574b8d335ac3fdf2c2dc561 (diff) | |
download | nextcloud-server-793d3868c22d8d5f96aa1d8c7213bc0722421316.tar.gz nextcloud-server-793d3868c22d8d5f96aa1d8c7213bc0722421316.zip |
Merge pull request #1578 from nextcloud/use-more-magic-di
Use magic DI for core controllers
Diffstat (limited to 'tests')
-rw-r--r-- | tests/Core/Controller/LostControllerTest.php | 14 | ||||
-rw-r--r-- | tests/Core/Controller/TokenControllerTest.php | 130 |
2 files changed, 9 insertions, 135 deletions
diff --git a/tests/Core/Controller/LostControllerTest.php b/tests/Core/Controller/LostControllerTest.php index 2e7d6721d56..177e41061a4 100644 --- a/tests/Core/Controller/LostControllerTest.php +++ b/tests/Core/Controller/LostControllerTest.php @@ -24,6 +24,7 @@ namespace Tests\Core\Controller; use OC\Core\Controller\LostController; use OCP\AppFramework\Http\TemplateResponse; use OCP\AppFramework\Utility\ITimeFactory; +use OCP\Encryption\IManager; use OCP\IConfig; use OCP\IL10N; use OCP\IRequest; @@ -59,6 +60,8 @@ class LostControllerTest extends \PHPUnit_Framework_TestCase { private $mailer; /** @var ISecureRandom | PHPUnit_Framework_MockObject_MockObject */ private $secureRandom; + /** @var IManager|PHPUnit_Framework_MockObject_MockObject */ + private $encryptionManager; /** @var ITimeFactory | PHPUnit_Framework_MockObject_MockObject */ private $timeFactory; /** @var IRequest */ @@ -98,6 +101,11 @@ class LostControllerTest extends \PHPUnit_Framework_TestCase { ->disableOriginalConstructor()->getMock(); $this->request = $this->getMockBuilder('OCP\IRequest') ->disableOriginalConstructor()->getMock(); + $this->encryptionManager = $this->getMockBuilder(IManager::class) + ->disableOriginalConstructor()->getMock(); + $this->encryptionManager->expects($this->any()) + ->method('isEnabled') + ->willReturn(true); $this->lostController = new LostController( 'Core', $this->request, @@ -108,7 +116,7 @@ class LostControllerTest extends \PHPUnit_Framework_TestCase { $this->config, $this->secureRandom, 'lostpassword-noreply@localhost', - true, + $this->encryptionManager, $this->mailer, $this->timeFactory ); @@ -162,8 +170,6 @@ class LostControllerTest extends \PHPUnit_Framework_TestCase { public function testResetFormExpiredToken() { - $userId = 'ValidTokenUser'; - $token = '12345:TheOnlyAndOnlyOneTokenToResetThePassword'; $user = $this->getMockBuilder('\OCP\IUser') ->disableOriginalConstructor()->getMock(); $this->userManager @@ -195,8 +201,6 @@ class LostControllerTest extends \PHPUnit_Framework_TestCase { } public function testResetFormValidToken() { - $userId = 'ValidTokenUser'; - $token = '12345:TheOnlyAndOnlyOneTokenToResetThePassword'; $user = $this->getMockBuilder('\OCP\IUser') ->disableOriginalConstructor()->getMock(); $user diff --git a/tests/Core/Controller/TokenControllerTest.php b/tests/Core/Controller/TokenControllerTest.php deleted file mode 100644 index 0e965aac2e5..00000000000 --- a/tests/Core/Controller/TokenControllerTest.php +++ /dev/null @@ -1,130 +0,0 @@ -<?php - -/** - * @author Christoph Wurst <christoph@owncloud.com> - * - * @copyright Copyright (c) 2016, ownCloud, Inc. - * @license AGPL-3.0 - * - * This code is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License, version 3, - * as published by the Free Software Foundation. - * - * This program 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, version 3, - * along with this program. If not, see <http://www.gnu.org/licenses/> - * - */ - -namespace Tests\Core\Controller; - -use OC\AppFramework\Http; -use OC\Authentication\Token\IToken; -use OC\Core\Controller\TokenController; -use OCP\AppFramework\Http\JSONResponse; -use Test\TestCase; - -class TokenControllerTest extends TestCase { - - /** \OC\Core\Controller\TokenController */ - private $tokenController; - private $request; - private $userManager; - private $tokenProvider; - private $twoFactorAuthManager; - private $secureRandom; - - protected function setUp() { - parent::setUp(); - - $this->request = $this->getMockBuilder('\OCP\IRequest')->getMock(); - $this->userManager = $this->getMockBuilder('\OC\User\Manager') - ->disableOriginalConstructor() - ->getMock(); - $this->tokenProvider = $this->getMockBuilder('\OC\Authentication\Token\IProvider') - ->getMock(); - $this->twoFactorAuthManager = $this->getMockBuilder('\OC\Authentication\TwoFactorAuth\Manager') - ->disableOriginalConstructor() - ->getMock(); - $this->secureRandom = $this->getMockBuilder('\OCP\Security\ISecureRandom') - ->getMock(); - - $this->tokenController = new TokenController('core', $this->request, $this->userManager, $this->tokenProvider, $this->twoFactorAuthManager, $this->secureRandom); - } - - public function testWithoutCredentials() { - $expected = new JSONResponse(); - $expected->setStatus(Http::STATUS_UNPROCESSABLE_ENTITY); - - $actual = $this->tokenController->generateToken(null, null); - - $this->assertEquals($expected, $actual); - } - - public function testWithInvalidCredentials() { - $this->userManager->expects($this->once()) - ->method('checkPassword') - ->with('john', 'passme') - ->will($this->returnValue(false)); - $expected = new JSONResponse(); - $expected->setStatus(Http::STATUS_UNAUTHORIZED); - - $actual = $this->tokenController->generateToken('john', 'passme'); - - $this->assertEquals($expected, $actual); - } - - public function testWithValidCredentials() { - $user = $this->getMockBuilder('\OCP\IUser')->getMock(); - $this->userManager->expects($this->once()) - ->method('checkPassword') - ->with('john', '123456') - ->will($this->returnValue($user)); - $user->expects($this->once()) - ->method('getUID') - ->will($this->returnValue('john')); - $this->twoFactorAuthManager->expects($this->once()) - ->method('isTwoFactorAuthenticated') - ->with($user) - ->will($this->returnValue(false)); - $this->secureRandom->expects($this->once()) - ->method('generate') - ->with(128) - ->will($this->returnValue('verysecurerandomtoken')); - $this->tokenProvider->expects($this->once()) - ->method('generateToken') - ->with('verysecurerandomtoken', 'john', 'john', '123456', 'unknown client', IToken::PERMANENT_TOKEN); - $expected = new JSONResponse([ - 'token' => 'verysecurerandomtoken' - ]); - - $actual = $this->tokenController->generateToken('john', '123456'); - - $this->assertEquals($expected, $actual); - } - - public function testWithValidCredentialsBut2faEnabled() { - $user = $this->getMockBuilder('\OCP\IUser')->getMock(); - $this->userManager->expects($this->once()) - ->method('checkPassword') - ->with('john', '123456') - ->will($this->returnValue($user)); - $this->twoFactorAuthManager->expects($this->once()) - ->method('isTwoFactorAuthenticated') - ->with($user) - ->will($this->returnValue(true)); - $this->secureRandom->expects($this->never()) - ->method('generate'); - $expected = new JSONResponse(); - $expected->setStatus(Http::STATUS_UNAUTHORIZED); - - $actual = $this->tokenController->generateToken('john', '123456'); - - $this->assertEquals($expected, $actual); - } - -} |