aboutsummaryrefslogtreecommitdiffstats
path: root/tests/Core/Command/Encryption/ChangeKeyStorageRootTest.php
diff options
context:
space:
mode:
Diffstat (limited to 'tests/Core/Command/Encryption/ChangeKeyStorageRootTest.php')
-rw-r--r--tests/Core/Command/Encryption/ChangeKeyStorageRootTest.php93
1 files changed, 39 insertions, 54 deletions
diff --git a/tests/Core/Command/Encryption/ChangeKeyStorageRootTest.php b/tests/Core/Command/Encryption/ChangeKeyStorageRootTest.php
index 1d5e2ac420d..0bc6cbb64cf 100644
--- a/tests/Core/Command/Encryption/ChangeKeyStorageRootTest.php
+++ b/tests/Core/Command/Encryption/ChangeKeyStorageRootTest.php
@@ -1,27 +1,15 @@
<?php
+
/**
- * @author Björn Schießle <schiessle@owncloud.com>
- *
- * @copyright Copyright (c) 2015, 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/>
- *
+ * SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-FileCopyrightText: 2016 ownCloud, Inc.
+ * SPDX-License-Identifier: AGPL-3.0-only
*/
namespace Tests\Core\Command\Encryption;
use OC\Core\Command\Encryption\ChangeKeyStorageRoot;
+use OC\Encryption\Keys\Storage;
use OC\Encryption\Util;
use OC\Files\View;
use OCP\IConfig;
@@ -46,7 +34,7 @@ class ChangeKeyStorageRootTest extends TestCase {
/** @var IConfig | \PHPUnit\Framework\MockObject\MockObject */
protected $config;
- /** @var Util | \PHPUnit\Framework\MockObject\MockObject */
+ /** @var Util | \PHPUnit\Framework\MockObject\MockObject */
protected $util;
/** @var QuestionHelper | \PHPUnit\Framework\MockObject\MockObject */
@@ -58,7 +46,7 @@ class ChangeKeyStorageRootTest extends TestCase {
/** @var OutputInterface | \PHPUnit\Framework\MockObject\MockObject */
protected $outputInterface;
- /** @var \OCP\UserInterface | \PHPUnit\Framework\MockObject\MockObject */
+ /** @var UserInterface|\PHPUnit\Framework\MockObject\MockObject */
protected $userInterface;
protected function setUp(): void {
@@ -75,6 +63,7 @@ class ChangeKeyStorageRootTest extends TestCase {
/* We need format method to return a string */
$outputFormatter = $this->createMock(OutputFormatterInterface::class);
+ $outputFormatter->method('isDecorated')->willReturn(false);
$outputFormatter->method('format')->willReturnArgument(0);
$this->outputInterface->expects($this->any())->method('getFormatter')
@@ -89,10 +78,8 @@ class ChangeKeyStorageRootTest extends TestCase {
);
}
- /**
- * @dataProvider dataTestExecute
- */
- public function testExecute($newRoot, $answer, $successMoveKey) {
+ #[\PHPUnit\Framework\Attributes\DataProvider('dataTestExecute')]
+ public function testExecute($newRoot, $answer, $successMoveKey): void {
$changeKeyStorageRoot = $this->getMockBuilder('OC\Core\Command\Encryption\ChangeKeyStorageRoot')
->setConstructorArgs(
[
@@ -102,7 +89,7 @@ class ChangeKeyStorageRootTest extends TestCase {
$this->util,
$this->questionHelper
]
- )->setMethods(['moveAllKeys'])->getMock();
+ )->onlyMethods(['moveAllKeys'])->getMock();
$this->util->expects($this->once())->method('getKeyStorageRoot')
->willReturn('');
@@ -135,7 +122,7 @@ class ChangeKeyStorageRootTest extends TestCase {
);
}
- public function dataTestExecute() {
+ public static function dataTestExecute(): array {
return [
[null, true, true],
[null, true, false],
@@ -145,8 +132,8 @@ class ChangeKeyStorageRootTest extends TestCase {
];
}
- public function testMoveAllKeys() {
- /** @var \OC\Core\Command\Encryption\ChangeKeyStorageRoot $changeKeyStorageRoot */
+ public function testMoveAllKeys(): void {
+ /** @var ChangeKeyStorageRoot $changeKeyStorageRoot */
$changeKeyStorageRoot = $this->getMockBuilder('OC\Core\Command\Encryption\ChangeKeyStorageRoot')
->setConstructorArgs(
[
@@ -156,33 +143,33 @@ class ChangeKeyStorageRootTest extends TestCase {
$this->util,
$this->questionHelper
]
- )->setMethods(['prepareNewRoot', 'moveSystemKeys', 'moveUserKeys'])->getMock();
+ )->onlyMethods(['prepareNewRoot', 'moveSystemKeys', 'moveUserKeys'])->getMock();
- $changeKeyStorageRoot->expects($this->at(0))->method('prepareNewRoot')->with('newRoot');
- $changeKeyStorageRoot->expects($this->at(1))->method('moveSystemKeys')->with('oldRoot', 'newRoot');
- $changeKeyStorageRoot->expects($this->at(2))->method('moveUserKeys')->with('oldRoot', 'newRoot', $this->outputInterface);
+ $changeKeyStorageRoot->expects($this->once())->method('prepareNewRoot')->with('newRoot');
+ $changeKeyStorageRoot->expects($this->once())->method('moveSystemKeys')->with('oldRoot', 'newRoot');
+ $changeKeyStorageRoot->expects($this->once())->method('moveUserKeys')->with('oldRoot', 'newRoot', $this->outputInterface);
$this->invokePrivate($changeKeyStorageRoot, 'moveAllKeys', ['oldRoot', 'newRoot', $this->outputInterface]);
}
- public function testPrepareNewRoot() {
+ public function testPrepareNewRoot(): void {
$this->view->expects($this->once())->method('is_dir')->with('newRoot')
->willReturn(true);
$this->view->expects($this->once())->method('file_put_contents')
- ->with('newRoot/' . \OC\Encryption\Keys\Storage::KEY_STORAGE_MARKER,
+ ->with('newRoot/' . Storage::KEY_STORAGE_MARKER,
'Nextcloud will detect this folder as key storage root only if this file exists')->willReturn(true);
$this->invokePrivate($this->changeKeyStorageRoot, 'prepareNewRoot', ['newRoot']);
}
/**
- * @dataProvider dataTestPrepareNewRootException
*
* @param bool $dirExists
* @param bool $couldCreateFile
*/
- public function testPrepareNewRootException($dirExists, $couldCreateFile) {
+ #[\PHPUnit\Framework\Attributes\DataProvider('dataTestPrepareNewRootException')]
+ public function testPrepareNewRootException($dirExists, $couldCreateFile): void {
$this->expectException(\Exception::class);
$this->view->expects($this->once())->method('is_dir')->with('newRoot')
@@ -192,7 +179,7 @@ class ChangeKeyStorageRootTest extends TestCase {
$this->invokePrivate($this->changeKeyStorageRoot, 'prepareNewRoot', ['newRoot']);
}
- public function dataTestPrepareNewRootException() {
+ public static function dataTestPrepareNewRootException(): array {
return [
[true, false],
[true, null],
@@ -201,13 +188,13 @@ class ChangeKeyStorageRootTest extends TestCase {
}
/**
- * @dataProvider dataTestMoveSystemKeys
*
* @param bool $dirExists
* @param bool $targetExists
* @param bool $executeRename
*/
- public function testMoveSystemKeys($dirExists, $targetExists, $executeRename) {
+ #[\PHPUnit\Framework\Attributes\DataProvider('dataTestMoveSystemKeys')]
+ public function testMoveSystemKeys($dirExists, $targetExists, $executeRename): void {
$changeKeyStorageRoot = $this->getMockBuilder('OC\Core\Command\Encryption\ChangeKeyStorageRoot')
->setConstructorArgs(
[
@@ -217,7 +204,7 @@ class ChangeKeyStorageRootTest extends TestCase {
$this->util,
$this->questionHelper
]
- )->setMethods(['targetExists'])->getMock();
+ )->onlyMethods(['targetExists'])->getMock();
$this->view->expects($this->once())->method('is_dir')
->with('oldRoot/files_encryption')->willReturn($dirExists);
@@ -226,7 +213,7 @@ class ChangeKeyStorageRootTest extends TestCase {
if ($executeRename) {
$this->view->expects($this->once())->method('rename')
- ->with('oldRoot/files_encryption', 'newRoot/files_encryption');
+ ->with('oldRoot/files_encryption', 'newRoot/files_encryption');
} else {
$this->view->expects($this->never())->method('rename');
}
@@ -234,7 +221,7 @@ class ChangeKeyStorageRootTest extends TestCase {
$this->invokePrivate($changeKeyStorageRoot, 'moveSystemKeys', ['oldRoot', 'newRoot']);
}
- public function dataTestMoveSystemKeys() {
+ public static function dataTestMoveSystemKeys(): array {
return [
[true, false, true],
[false, true, false],
@@ -244,7 +231,7 @@ class ChangeKeyStorageRootTest extends TestCase {
}
- public function testMoveUserKeys() {
+ public function testMoveUserKeys(): void {
$changeKeyStorageRoot = $this->getMockBuilder('OC\Core\Command\Encryption\ChangeKeyStorageRoot')
->setConstructorArgs(
[
@@ -254,7 +241,7 @@ class ChangeKeyStorageRootTest extends TestCase {
$this->util,
$this->questionHelper
]
- )->setMethods(['setupUserFS', 'moveUserEncryptionFolder'])->getMock();
+ )->onlyMethods(['setupUserFS', 'moveUserEncryptionFolder'])->getMock();
$this->userManager->expects($this->once())->method('getBackends')
->willReturn([$this->userInterface]);
@@ -267,14 +254,14 @@ class ChangeKeyStorageRootTest extends TestCase {
}
/**
- * @dataProvider dataTestMoveUserEncryptionFolder
*
* @param bool $userExists
* @param bool $isDir
* @param bool $targetExists
* @param bool $shouldRename
*/
- public function testMoveUserEncryptionFolder($userExists, $isDir, $targetExists, $shouldRename) {
+ #[\PHPUnit\Framework\Attributes\DataProvider('dataTestMoveUserEncryptionFolder')]
+ public function testMoveUserEncryptionFolder($userExists, $isDir, $targetExists, $shouldRename): void {
$changeKeyStorageRoot = $this->getMockBuilder('OC\Core\Command\Encryption\ChangeKeyStorageRoot')
->setConstructorArgs(
[
@@ -284,7 +271,7 @@ class ChangeKeyStorageRootTest extends TestCase {
$this->util,
$this->questionHelper
]
- )->setMethods(['targetExists', 'prepareParentFolder'])->getMock();
+ )->onlyMethods(['targetExists', 'prepareParentFolder'])->getMock();
$this->userManager->expects($this->once())->method('userExists')
->willReturn($userExists);
@@ -306,7 +293,7 @@ class ChangeKeyStorageRootTest extends TestCase {
$this->invokePrivate($changeKeyStorageRoot, 'moveUserEncryptionFolder', ['user1', 'oldRoot', 'newRoot']);
}
- public function dataTestMoveUserEncryptionFolder() {
+ public static function dataTestMoveUserEncryptionFolder(): array {
return [
[true, true, false, true],
[true, false, true, false],
@@ -319,10 +306,8 @@ class ChangeKeyStorageRootTest extends TestCase {
}
- /**
- * @dataProvider dataTestPrepareParentFolder
- */
- public function testPrepareParentFolder($path, $pathExists) {
+ #[\PHPUnit\Framework\Attributes\DataProvider('dataTestPrepareParentFolder')]
+ public function testPrepareParentFolder($path, $pathExists): void {
$this->view->expects($this->any())->method('file_exists')
->willReturnCallback(
function ($fileExistsPath) use ($path, $pathExists) {
@@ -347,14 +332,14 @@ class ChangeKeyStorageRootTest extends TestCase {
);
}
- public function dataTestPrepareParentFolder() {
+ public static function dataTestPrepareParentFolder(): array {
return [
['/user/folder/sub_folder/keystorage', true],
['/user/folder/sub_folder/keystorage', false]
];
}
- public function testTargetExists() {
+ public function testTargetExists(): void {
$this->view->expects($this->once())->method('file_exists')->with('path')
->willReturn(false);
@@ -364,7 +349,7 @@ class ChangeKeyStorageRootTest extends TestCase {
}
- public function testTargetExistsException() {
+ public function testTargetExistsException(): void {
$this->expectException(\Exception::class);
$this->view->expects($this->once())->method('file_exists')->with('path')