summaryrefslogtreecommitdiffstats
path: root/tests/core
diff options
context:
space:
mode:
authorJoas Schilling <nickvergessen@owncloud.com>2016-05-25 12:02:05 +0200
committerJoas Schilling <nickvergessen@owncloud.com>2016-05-25 12:02:05 +0200
commit8afbd803289a821a45bc63c2d2305d93dc757c48 (patch)
tree7f0c8fc23e99443e011dc3469cea8c402b43dda0 /tests/core
parent25f31107301b3ed08cbd9ade2a4bf37e88e54044 (diff)
downloadnextcloud-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.php219
-rw-r--r--tests/core/middleware/TwoFactorMiddlewareTest.php182
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));
- }
-
-}