diff options
Diffstat (limited to 'apps/encryption/tests/Controller/SettingsControllerTest.php')
-rw-r--r-- | apps/encryption/tests/Controller/SettingsControllerTest.php | 132 |
1 files changed, 42 insertions, 90 deletions
diff --git a/apps/encryption/tests/Controller/SettingsControllerTest.php b/apps/encryption/tests/Controller/SettingsControllerTest.php index b12652b51c9..bee20f67cec 100644 --- a/apps/encryption/tests/Controller/SettingsControllerTest.php +++ b/apps/encryption/tests/Controller/SettingsControllerTest.php @@ -1,28 +1,12 @@ <?php + +declare(strict_types=1); + /** - * @copyright Copyright (c) 2016, ownCloud, Inc. - * - * @author Björn Schießle <bjoern@schiessle.org> - * @author Joas Schilling <coding@schilljs.com> - * @author Morris Jobke <hey@morrisjobke.de> - * @author Roeland Jago Douma <roeland@famdouma.nl> - * - * @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/> - * + * SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors + * SPDX-FileCopyrightText: 2016 ownCloud, Inc. + * SPDX-License-Identifier: AGPL-3.0-only */ - namespace OCA\Encryption\Tests\Controller; use OCA\Encryption\Controller\SettingsController; @@ -34,44 +18,28 @@ use OCP\AppFramework\Http; use OCP\IL10N; use OCP\IRequest; use OCP\ISession; +use OCP\IUser; use OCP\IUserManager; use OCP\IUserSession; +use PHPUnit\Framework\MockObject\MockObject; use Test\TestCase; class SettingsControllerTest extends TestCase { - /** @var SettingsController */ - private $controller; - - /** @var \OCP\IRequest|\PHPUnit_Framework_MockObject_MockObject */ - private $requestMock; - - /** @var \OCP\IL10N|\PHPUnit_Framework_MockObject_MockObject */ - private $l10nMock; - - /** @var \OCP\IUserManager|\PHPUnit_Framework_MockObject_MockObject */ - private $userManagerMock; - - /** @var \OCP\IUserSession|\PHPUnit_Framework_MockObject_MockObject */ - private $userSessionMock; + protected SettingsController $controller; - /** @var \OCA\Encryption\KeyManager|\PHPUnit_Framework_MockObject_MockObject */ - private $keyManagerMock; - - /** @var \OCA\Encryption\Crypto\Crypt|\PHPUnit_Framework_MockObject_MockObject */ - private $cryptMock; - - /** @var \OCA\Encryption\Session|\PHPUnit_Framework_MockObject_MockObject */ - private $sessionMock; - - /** @var \OCP\ISession|\PHPUnit_Framework_MockObject_MockObject */ - private $ocSessionMock; - - /** @var \OCA\Encryption\Util|\PHPUnit_Framework_MockObject_MockObject */ - private $utilMock; - - protected function setUp() { + protected IRequest&MockObject $requestMock; + protected IL10N&MockObject $l10nMock; + protected IUserManager&MockObject $userManagerMock; + protected IUserSession&MockObject $userSessionMock; + protected KeyManager&MockObject $keyManagerMock; + protected Crypt&MockObject $cryptMock; + protected Session&MockObject $sessionMock; + protected IUser&MockObject $user; + protected ISession&MockObject $ocSessionMock; + protected Util&MockObject $utilMock; + protected function setUp(): void { parent::setUp(); $this->requestMock = $this->createMock(IRequest::class); @@ -81,9 +49,9 @@ class SettingsControllerTest extends TestCase { $this->l10nMock->expects($this->any()) ->method('t') - ->will($this->returnCallback(function($message) { + ->willReturnCallback(function ($message) { return $message; - })); + }); $this->userManagerMock = $this->getMockBuilder(IUserManager::class) ->disableOriginalConstructor()->getMock(); @@ -94,28 +62,17 @@ class SettingsControllerTest extends TestCase { $this->cryptMock = $this->getMockBuilder(Crypt::class) ->disableOriginalConstructor()->getMock(); - $this->userSessionMock = $this->getMockBuilder(IUserSession::class) - ->disableOriginalConstructor() - ->setMethods([ - 'isLoggedIn', - 'getUID', - 'login', - 'logout', - 'setUser', - 'getUser', - 'canChangePassword', - ]) - ->getMock(); - $this->ocSessionMock = $this->getMockBuilder(ISession::class)->disableOriginalConstructor()->getMock(); - $this->userSessionMock->expects($this->any()) + $this->user = $this->createMock(IUser::class); + $this->user->expects($this->any()) ->method('getUID') ->willReturn('testUserUid'); + $this->userSessionMock = $this->createMock(IUserSession::class); $this->userSessionMock->expects($this->any()) - ->method($this->anything()) - ->will($this->returnSelf()); + ->method('getUser') + ->willReturn($this->user); $this->sessionMock = $this->getMockBuilder(Session::class) ->disableOriginalConstructor()->getMock(); @@ -141,12 +98,13 @@ class SettingsControllerTest extends TestCase { /** * test updatePrivateKeyPassword() if wrong new password was entered */ - public function testUpdatePrivateKeyPasswordWrongNewPassword() { - + public function testUpdatePrivateKeyPasswordWrongNewPassword(): void { $oldPassword = 'old'; $newPassword = 'new'; - $this->userSessionMock->expects($this->once())->method('getUID')->willReturn('uid'); + $this->user->expects($this->any()) + ->method('getUID') + ->willReturn('uid'); $this->userManagerMock ->expects($this->exactly(2)) @@ -165,8 +123,7 @@ class SettingsControllerTest extends TestCase { /** * test updatePrivateKeyPassword() if wrong old password was entered */ - public function testUpdatePrivateKeyPasswordWrongOldPassword() { - + public function testUpdatePrivateKeyPasswordWrongOldPassword(): void { $oldPassword = 'old'; $newPassword = 'new'; @@ -192,26 +149,22 @@ class SettingsControllerTest extends TestCase { /** * test updatePrivateKeyPassword() with the correct old and new password */ - public function testUpdatePrivateKeyPassword() { - + public function testUpdatePrivateKeyPassword(): void { $oldPassword = 'old'; $newPassword = 'new'; $this->ocSessionMock->expects($this->once()) - ->method('get')->with('loginname')->willReturn('testUser'); + ->method('get') + ->with('loginname') + ->willReturn('testUser'); $this->userManagerMock - ->expects($this->at(0)) - ->method('checkPassword') - ->with('testUserUid', 'new') - ->willReturn(false); - $this->userManagerMock - ->expects($this->at(1)) + ->expects($this->exactly(2)) ->method('checkPassword') - ->with('testUser', 'new') - ->willReturn(true); - - + ->willReturnMap([ + ['testUserUid', 'new', false], + ['testUser', 'new', true], + ]); $this->cryptMock ->expects($this->once()) @@ -253,10 +206,9 @@ class SettingsControllerTest extends TestCase { $data['message']); } - function testSetEncryptHomeStorage() { + public function testSetEncryptHomeStorage(): void { $value = true; $this->utilMock->expects($this->once())->method('setEncryptHomeStorage')->with($value); $this->controller->setEncryptHomeStorage($value); } - } |