diff options
Diffstat (limited to 'apps/encryption/tests/UtilTest.php')
-rw-r--r-- | apps/encryption/tests/UtilTest.php | 129 |
1 files changed, 46 insertions, 83 deletions
diff --git a/apps/encryption/tests/UtilTest.php b/apps/encryption/tests/UtilTest.php index 1777d1f8f1f..41860a44ffb 100644 --- a/apps/encryption/tests/UtilTest.php +++ b/apps/encryption/tests/UtilTest.php @@ -1,69 +1,42 @@ <?php -/** - * @copyright Copyright (c) 2016, ownCloud, Inc. - * - * @author Bjoern Schiessle <bjoern@schiessle.org> - * @author Björn Schießle <bjoern@schiessle.org> - * @author Clark Tomlinson <fallen013@gmail.com> - * @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/> - * - */ +declare(strict_types=1); +/** + * 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; - use OC\Files\View; use OCA\Encryption\Crypto\Crypt; use OCA\Encryption\Util; use OCP\Files\Mount\IMountPoint; -use OCP\Files\Storage; +use OCP\Files\Storage\IStorage; use OCP\IConfig; -use OCP\ILogger; +use OCP\IUser; use OCP\IUserManager; use OCP\IUserSession; +use PHPUnit\Framework\MockObject\MockObject; use Test\TestCase; class UtilTest extends TestCase { - private static $tempStorage = []; - - /** @var \OCP\IConfig|\PHPUnit_Framework_MockObject_MockObject */ - private $configMock; - - /** @var \OC\Files\View|\PHPUnit_Framework_MockObject_MockObject */ - private $filesMock; - /** @var \OCP\IUserManager|\PHPUnit_Framework_MockObject_MockObject */ - private $userManagerMock; + protected Util $instance; + protected static $tempStorage = []; - /** @var \OCP\Files\Mount\IMountPoint|\PHPUnit_Framework_MockObject_MockObject */ - private $mountMock; + protected IConfig&MockObject $configMock; + protected View&MockObject $filesMock; + protected IUserManager&MockObject $userManagerMock; + protected IMountPoint&MockObject $mountMock; - /** @var Util */ - private $instance; - - public function testSetRecoveryForUser() { + public function testSetRecoveryForUser(): void { $this->instance->setRecoveryForUser('1'); $this->assertArrayHasKey('recoveryEnabled', self::$tempStorage); } - public function testIsRecoveryEnabledForUser() { + public function testIsRecoveryEnabledForUser(): void { $this->assertTrue($this->instance->isRecoveryEnabledForUser('admin')); // Assert recovery will return default value if not set @@ -71,59 +44,50 @@ class UtilTest extends TestCase { $this->assertEquals(0, $this->instance->isRecoveryEnabledForUser('admin')); } - public function testUserHasFiles() { + public function testUserHasFiles(): void { $this->filesMock->expects($this->once()) ->method('file_exists') - ->will($this->returnValue(true)); + ->willReturn(true); $this->assertTrue($this->instance->userHasFiles('admin')); } - protected function setUp() { + protected function setUp(): void { parent::setUp(); $this->mountMock = $this->createMock(IMountPoint::class); $this->filesMock = $this->createMock(View::class); $this->userManagerMock = $this->createMock(IUserManager::class); - /** @var \OCA\Encryption\Crypto\Crypt $cryptMock */ + /** @var Crypt $cryptMock */ $cryptMock = $this->getMockBuilder(Crypt::class) ->disableOriginalConstructor() ->getMock(); - /** @var \OCP\ILogger $loggerMock */ - $loggerMock = $this->createMock(ILogger::class); - /** @var \OCP\IUserSession|\PHPUnit_Framework_MockObject_MockObject $userSessionMock */ - $userSessionMock = $this->getMockBuilder(IUserSession::class) - ->disableOriginalConstructor() - ->setMethods([ - 'isLoggedIn', - 'getUID', - 'login', - 'logout', - 'setUser', - 'getUser' - ]) - ->getMock(); - - $userSessionMock->method('isLoggedIn')->will($this->returnValue(true)); - $userSessionMock->method('getUID')->will($this->returnValue('admin')); + $user = $this->createMock(IUser::class); + $user->expects($this->any()) + ->method('getUID') + ->willReturn('admin'); + /** @var IUserSession|MockObject $userSessionMock */ + $userSessionMock = $this->createMock(IUserSession::class); $userSessionMock->expects($this->any()) - ->method($this->anything()) - ->will($this->returnSelf()); - + ->method('getUser') + ->willReturn($user); + $userSessionMock->expects($this->any()) + ->method('isLoggedIn') + ->willReturn(true); $this->configMock = $this->createMock(IConfig::class); $this->configMock->expects($this->any()) ->method('getUserValue') - ->will($this->returnCallback([$this, 'getValueTester'])); + ->willReturnCallback([$this, 'getValueTester']); $this->configMock->expects($this->any()) ->method('setUserValue') - ->will($this->returnCallback([$this, 'setValueTester'])); + ->willReturnCallback([$this, 'setValueTester']); - $this->instance = new Util($this->filesMock, $cryptMock, $loggerMock, $userSessionMock, $this->configMock, $this->userManagerMock); + $this->instance = new Util($this->filesMock, $cryptMock, $userSessionMock, $this->configMock, $this->userManagerMock); } /** @@ -151,12 +115,12 @@ class UtilTest extends TestCase { } /** - * @dataProvider dataTestIsMasterKeyEnabled * * @param string $value * @param bool $expect */ - public function testIsMasterKeyEnabled($value, $expect) { + #[\PHPUnit\Framework\Attributes\DataProvider('dataTestIsMasterKeyEnabled')] + public function testIsMasterKeyEnabled($value, $expect): void { $this->configMock->expects($this->once())->method('getAppValue') ->with('encryption', 'useMasterKey', '1')->willReturn($value); $this->assertSame($expect, @@ -164,7 +128,7 @@ class UtilTest extends TestCase { ); } - public function dataTestIsMasterKeyEnabled() { + public static function dataTestIsMasterKeyEnabled(): array { return [ ['0', false], ['1', true] @@ -172,11 +136,11 @@ class UtilTest extends TestCase { } /** - * @dataProvider dataTestShouldEncryptHomeStorage * @param string $returnValue return value from getAppValue() * @param bool $expected */ - public function testShouldEncryptHomeStorage($returnValue, $expected) { + #[\PHPUnit\Framework\Attributes\DataProvider('dataTestShouldEncryptHomeStorage')] + public function testShouldEncryptHomeStorage($returnValue, $expected): void { $this->configMock->expects($this->once())->method('getAppValue') ->with('encryption', 'encryptHomeStorage', '1') ->willReturn($returnValue); @@ -185,7 +149,7 @@ class UtilTest extends TestCase { $this->instance->shouldEncryptHomeStorage()); } - public function dataTestShouldEncryptHomeStorage() { + public static function dataTestShouldEncryptHomeStorage(): array { return [ ['1', true], ['0', false] @@ -193,25 +157,25 @@ class UtilTest extends TestCase { } /** - * @dataProvider dataTestSetEncryptHomeStorage * @param $value * @param $expected */ - public function testSetEncryptHomeStorage($value, $expected) { + #[\PHPUnit\Framework\Attributes\DataProvider('dataTestSetEncryptHomeStorage')] + public function testSetEncryptHomeStorage($value, $expected): void { $this->configMock->expects($this->once())->method('setAppValue') ->with('encryption', 'encryptHomeStorage', $expected); $this->instance->setEncryptHomeStorage($value); } - public function dataTestSetEncryptHomeStorage() { + public static function dataTestSetEncryptHomeStorage(): array { return [ [true, '1'], [false, '0'] ]; } - public function testGetStorage() { - $return = $this->getMockBuilder(Storage::class) + public function testGetStorage(): void { + $return = $this->getMockBuilder(IStorage::class) ->disableOriginalConstructor() ->getMock(); @@ -222,5 +186,4 @@ class UtilTest extends TestCase { $this->assertEquals($return, $this->instance->getStorage($path)); } - } |