diff options
author | Joas Schilling <nickvergessen@owncloud.com> | 2016-05-25 12:02:05 +0200 |
---|---|---|
committer | Joas Schilling <nickvergessen@owncloud.com> | 2016-05-25 12:02:05 +0200 |
commit | 8afbd803289a821a45bc63c2d2305d93dc757c48 (patch) | |
tree | 7f0c8fc23e99443e011dc3469cea8c402b43dda0 /tests/core | |
parent | 25f31107301b3ed08cbd9ade2a4bf37e88e54044 (diff) | |
download | nextcloud-server-8afbd803289a821a45bc63c2d2305d93dc757c48.tar.gz nextcloud-server-8afbd803289a821a45bc63c2d2305d93dc757c48.zip |
Move parallel merged auth tests to PSR-4
Diffstat (limited to 'tests/core')
-rw-r--r-- | tests/core/controller/TwoFactorChallengeControllerTest.php | 219 | ||||
-rw-r--r-- | tests/core/middleware/TwoFactorMiddlewareTest.php | 182 |
2 files changed, 0 insertions, 401 deletions
diff --git a/tests/core/controller/TwoFactorChallengeControllerTest.php b/tests/core/controller/TwoFactorChallengeControllerTest.php deleted file mode 100644 index c65625ec329..00000000000 --- a/tests/core/controller/TwoFactorChallengeControllerTest.php +++ /dev/null @@ -1,219 +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 OC\Core\Controller; - -use Test\TestCase; - -class TwoFactorChallengeControllerTest extends TestCase { - - private $request; - private $twoFactorManager; - private $userSession; - private $session; - private $urlGenerator; - - /** TwoFactorChallengeController */ - private $controller; - - protected function setUp() { - parent::setUp(); - - $this->request = $this->getMock('\OCP\IRequest'); - $this->twoFactorManager = $this->getMockBuilder('\OC\Authentication\TwoFactorAuth\Manager') - ->disableOriginalConstructor() - ->getMock(); - $this->userSession = $this->getMock('\OCP\IUserSession'); - $this->session = $this->getMock('\OCP\ISession'); - $this->urlGenerator = $this->getMock('\OCP\IURLGenerator'); - - $this->controller = new TwoFactorChallengeController( - 'core', $this->request, $this->twoFactorManager, $this->userSession, $this->session, $this->urlGenerator - ); - } - - public function testSelectChallenge() { - $user = $this->getMock('\OCP\IUser'); - $providers = [ - 'prov1', - 'prov2', - ]; - - $this->userSession->expects($this->once()) - ->method('getUser') - ->will($this->returnValue($user)); - $this->twoFactorManager->expects($this->once()) - ->method('getProviders') - ->with($user) - ->will($this->returnValue($providers)); - - $expected = new \OCP\AppFramework\Http\TemplateResponse('core', 'twofactorselectchallenge', [ - 'providers' => $providers, - ], 'guest'); - - $this->assertEquals($expected, $this->controller->selectChallenge()); - } - - public function testShowChallenge() { - $user = $this->getMock('\OCP\IUser'); - $provider = $this->getMockBuilder('\OCP\Authentication\TwoFactorAuth\IProvider') - ->disableOriginalConstructor() - ->getMock(); - $tmpl = $this->getMockBuilder('\OCP\Template') - ->disableOriginalConstructor() - ->getMock(); - - $this->userSession->expects($this->once()) - ->method('getUser') - ->will($this->returnValue($user)); - $this->twoFactorManager->expects($this->once()) - ->method('getProvider') - ->with($user, 'myprovider') - ->will($this->returnValue($provider)); - - $this->session->expects($this->once()) - ->method('exists') - ->with('two_factor_auth_error') - ->will($this->returnValue(true)); - $this->session->expects($this->once()) - ->method('remove') - ->with('two_factor_auth_error'); - $provider->expects($this->once()) - ->method('getTemplate') - ->with($user) - ->will($this->returnValue($tmpl)); - $tmpl->expects($this->once()) - ->method('fetchPage') - ->will($this->returnValue('<html/>')); - - $expected = new \OCP\AppFramework\Http\TemplateResponse('core', 'twofactorshowchallenge', [ - 'error' => true, - 'provider' => $provider, - 'template' => '<html/>', - ], 'guest'); - - $this->assertEquals($expected, $this->controller->showChallenge('myprovider')); - } - - public function testShowInvalidChallenge() { - $user = $this->getMock('\OCP\IUser'); - - $this->userSession->expects($this->once()) - ->method('getUser') - ->will($this->returnValue($user)); - $this->twoFactorManager->expects($this->once()) - ->method('getProvider') - ->with($user, 'myprovider') - ->will($this->returnValue(null)); - $this->urlGenerator->expects($this->once()) - ->method('linkToRoute') - ->with('core.TwoFactorChallenge.selectChallenge') - ->will($this->returnValue('select/challenge/url')); - - $expected = new \OCP\AppFramework\Http\RedirectResponse('select/challenge/url'); - - $this->assertEquals($expected, $this->controller->showChallenge('myprovider')); - } - - public function testSolveChallenge() { - $user = $this->getMock('\OCP\IUser'); - $provider = $this->getMockBuilder('\OCP\Authentication\TwoFactorAuth\IProvider') - ->disableOriginalConstructor() - ->getMock(); - - $this->userSession->expects($this->once()) - ->method('getUser') - ->will($this->returnValue($user)); - $this->twoFactorManager->expects($this->once()) - ->method('getProvider') - ->with($user, 'myprovider') - ->will($this->returnValue($provider)); - - $this->twoFactorManager->expects($this->once()) - ->method('verifyChallenge') - ->with('myprovider', $user, 'token') - ->will($this->returnValue(true)); - $this->urlGenerator->expects($this->once()) - ->method('linkToRoute') - ->with('files.view.index') - ->will($this->returnValue('files/index/url')); - - $expected = new \OCP\AppFramework\Http\RedirectResponse('files/index/url'); - $this->assertEquals($expected, $this->controller->solveChallenge('myprovider', 'token')); - } - - public function testSolveChallengeInvalidProvider() { - $user = $this->getMock('\OCP\IUser'); - - $this->userSession->expects($this->once()) - ->method('getUser') - ->will($this->returnValue($user)); - $this->twoFactorManager->expects($this->once()) - ->method('getProvider') - ->with($user, 'myprovider') - ->will($this->returnValue(null)); - $this->urlGenerator->expects($this->once()) - ->method('linkToRoute') - ->with('core.TwoFactorChallenge.selectChallenge') - ->will($this->returnValue('select/challenge/url')); - - $expected = new \OCP\AppFramework\Http\RedirectResponse('select/challenge/url'); - - $this->assertEquals($expected, $this->controller->solveChallenge('myprovider', 'token')); - } - - public function testSolveInvalidChallenge() { - $user = $this->getMock('\OCP\IUser'); - $provider = $this->getMockBuilder('\OCP\Authentication\TwoFactorAuth\IProvider') - ->disableOriginalConstructor() - ->getMock(); - - $this->userSession->expects($this->once()) - ->method('getUser') - ->will($this->returnValue($user)); - $this->twoFactorManager->expects($this->once()) - ->method('getProvider') - ->with($user, 'myprovider') - ->will($this->returnValue($provider)); - - $this->twoFactorManager->expects($this->once()) - ->method('verifyChallenge') - ->with('myprovider', $user, 'token') - ->will($this->returnValue(false)); - $this->session->expects($this->once()) - ->method('set') - ->with('two_factor_auth_error', true); - $this->urlGenerator->expects($this->once()) - ->method('linkToRoute') - ->with('core.TwoFactorChallenge.showChallenge', [ - 'challengeProviderId' => 'myprovider', - ]) - ->will($this->returnValue('files/index/url')); - $provider->expects($this->once()) - ->method('getId') - ->will($this->returnValue('myprovider')); - - $expected = new \OCP\AppFramework\Http\RedirectResponse('files/index/url'); - $this->assertEquals($expected, $this->controller->solveChallenge('myprovider', 'token')); - } - -} diff --git a/tests/core/middleware/TwoFactorMiddlewareTest.php b/tests/core/middleware/TwoFactorMiddlewareTest.php deleted file mode 100644 index 12136db7fdf..00000000000 --- a/tests/core/middleware/TwoFactorMiddlewareTest.php +++ /dev/null @@ -1,182 +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 OC\Core\Middleware; - -use Test\TestCase; - -class TwoFactorMiddlewareTest extends TestCase { - - private $twoFactorManager; - private $userSession; - private $session; - private $urlGenerator; - private $reflector; - - /** @var TwoFactorMiddleware */ - private $middleware; - - protected function setUp() { - parent::setUp(); - - $this->twoFactorManager = $this->getMockBuilder('\OC\Authentication\TwoFactorAuth\Manager') - ->disableOriginalConstructor() - ->getMock(); - $this->userSession = $this->getMockBuilder('\OC\User\Session') - ->disableOriginalConstructor() - ->getMock(); - $this->session = $this->getMock('\OCP\ISession'); - $this->urlGenerator = $this->getMock('\OCP\IURLGenerator'); - $this->reflector = $this->getMock('\OCP\AppFramework\Utility\IControllerMethodReflector'); - - $this->middleware = new TwoFactorMiddleware($this->twoFactorManager, $this->userSession, $this->session, $this->urlGenerator, $this->reflector); - } - - public function testBeforeControllerNotLoggedIn() { - $this->reflector->expects($this->once()) - ->method('hasAnnotation') - ->with('PublicPage') - ->will($this->returnValue(false)); - $this->userSession->expects($this->once()) - ->method('isLoggedIn') - ->will($this->returnValue(false)); - - $this->userSession->expects($this->never()) - ->method('getUser'); - - $this->middleware->beforeController(null, 'index'); - } - - public function testBeforeControllerPublicPage() { - $this->reflector->expects($this->once()) - ->method('hasAnnotation') - ->with('PublicPage') - ->will($this->returnValue(true)); - $this->userSession->expects($this->never()) - ->method('isLoggedIn'); - - $this->middleware->beforeController(null, 'create'); - } - - public function testBeforeControllerNoTwoFactorCheckNeeded() { - $user = $this->getMock('\OCP\IUser'); - - $this->reflector->expects($this->once()) - ->method('hasAnnotation') - ->with('PublicPage') - ->will($this->returnValue(false)); - $this->userSession->expects($this->once()) - ->method('isLoggedIn') - ->will($this->returnValue(true)); - $this->userSession->expects($this->once()) - ->method('getUser') - ->will($this->returnValue($user)); - $this->twoFactorManager->expects($this->once()) - ->method('isTwoFactorAuthenticated') - ->with($user) - ->will($this->returnValue(false)); - - $this->middleware->beforeController(null, 'index'); - } - - /** - * @expectedException \OC\Authentication\Exceptions\TwoFactorAuthRequiredException - */ - public function testBeforeControllerTwoFactorAuthRequired() { - $user = $this->getMock('\OCP\IUser'); - - $this->reflector->expects($this->once()) - ->method('hasAnnotation') - ->with('PublicPage') - ->will($this->returnValue(false)); - $this->userSession->expects($this->once()) - ->method('isLoggedIn') - ->will($this->returnValue(true)); - $this->userSession->expects($this->once()) - ->method('getUser') - ->will($this->returnValue($user)); - $this->twoFactorManager->expects($this->once()) - ->method('isTwoFactorAuthenticated') - ->with($user) - ->will($this->returnValue(true)); - $this->twoFactorManager->expects($this->once()) - ->method('needsSecondFactor') - ->will($this->returnValue(true)); - - $this->middleware->beforeController(null, 'index'); - } - - /** - * @expectedException \OC\Authentication\Exceptions\UserAlreadyLoggedInException - */ - public function testBeforeControllerUserAlreadyLoggedIn() { - $user = $this->getMock('\OCP\IUser'); - - $this->reflector->expects($this->once()) - ->method('hasAnnotation') - ->with('PublicPage') - ->will($this->returnValue(false)); - $this->userSession->expects($this->once()) - ->method('isLoggedIn') - ->will($this->returnValue(true)); - $this->userSession->expects($this->once()) - ->method('getUser') - ->will($this->returnValue($user)); - $this->twoFactorManager->expects($this->once()) - ->method('isTwoFactorAuthenticated') - ->with($user) - ->will($this->returnValue(true)); - $this->twoFactorManager->expects($this->once()) - ->method('needsSecondFactor') - ->will($this->returnValue(false)); - - $twoFactorChallengeController = $this->getMockBuilder('\OC\Core\Controller\TwoFactorChallengeController') - ->disableOriginalConstructor() - ->getMock(); - $this->middleware->beforeController($twoFactorChallengeController, 'index'); - } - - public function testAfterExceptionTwoFactorAuthRequired() { - $ex = new \OC\Authentication\Exceptions\TwoFactorAuthRequiredException(); - - $this->urlGenerator->expects($this->once()) - ->method('linkToRoute') - ->with('core.TwoFactorChallenge.selectChallenge') - ->will($this->returnValue('redirect/url')); - $expected = new \OCP\AppFramework\Http\RedirectResponse('redirect/url'); - - $this->assertEquals($expected, $this->middleware->afterException(null, 'index', $ex)); - } - - public function testAfterException() { - $ex = new \OC\Authentication\Exceptions\UserAlreadyLoggedInException(); - - $this->urlGenerator->expects($this->once()) - ->method('linkToRoute') - ->with('files.view.index') - ->will($this->returnValue('redirect/url')); - $expected = new \OCP\AppFramework\Http\RedirectResponse('redirect/url'); - - $this->assertEquals($expected, $this->middleware->afterException(null, 'index', $ex)); - } - -} |