summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorBjoern Schiessle <bjoern@schiessle.org>2017-01-02 21:24:37 +0100
committerBjoern Schiessle <bjoern@schiessle.org>2017-01-10 17:04:32 +0100
commitfcda3a20f455795b898161ec4ada0aeb500b9218 (patch)
treed1819e6c04954377ede49bbf80ebc02335acf2a2 /tests
parent40239decb1b36f1daff53710e01d81e18c24f4fc (diff)
downloadnextcloud-server-fcda3a20f455795b898161ec4ada0aeb500b9218.tar.gz
nextcloud-server-fcda3a20f455795b898161ec4ada0aeb500b9218.zip
create new encryption keys on password reset and backup the old one
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
Diffstat (limited to 'tests')
-rw-r--r--tests/Core/Controller/LostControllerTest.php38
-rw-r--r--tests/lib/Encryption/Keys/StorageTest.php43
2 files changed, 43 insertions, 38 deletions
diff --git a/tests/Core/Controller/LostControllerTest.php b/tests/Core/Controller/LostControllerTest.php
index 3e7456648e4..0f9dcaead35 100644
--- a/tests/Core/Controller/LostControllerTest.php
+++ b/tests/Core/Controller/LostControllerTest.php
@@ -591,42 +591,4 @@ class LostControllerTest extends \Test\TestCase {
$this->assertSame($expectedResponse, $response);
}
- public function testSetPasswordEncryptionProceed() {
-
- /** @var LostController | PHPUnit_Framework_MockObject_MockObject $lostController */
- $lostController = $this->getMockBuilder(LostController::class)
- ->setConstructorArgs(
- [
- 'Core',
- $this->request,
- $this->urlGenerator,
- $this->userManager,
- $this->defaults,
- $this->l10n,
- $this->config,
- $this->secureRandom,
- 'lostpassword-noreply@localhost',
- $this->encryptionManager,
- $this->mailer,
- $this->timeFactory,
- $this->crypto
- ]
- )->setMethods(['checkPasswordResetToken'])->getMock();
-
- $lostController->expects($this->once())->method('checkPasswordResetToken')->willReturn(true);
-
- $user = $this->createMock(IUser::class);
- $user->method('setPassword')->willReturnCallback(
- function() {
- throw new PrivateKeyMissingException('user');
- }
- );
- $this->userManager->method('get')->with('user')->willReturn($user);
-
- $response = $lostController->setPassword('myToken', 'user', 'newpass', true);
-
- $expectedResponse = ['status' => 'success'];
- $this->assertSame($expectedResponse, $response);
- }
-
}
diff --git a/tests/lib/Encryption/Keys/StorageTest.php b/tests/lib/Encryption/Keys/StorageTest.php
index b5b91f886a3..4e9719351f3 100644
--- a/tests/lib/Encryption/Keys/StorageTest.php
+++ b/tests/lib/Encryption/Keys/StorageTest.php
@@ -510,4 +510,47 @@ class StorageTest extends TestCase {
];
}
+
+ /**
+ * @dataProvider dataTestBackupUserKeys
+ * @param bool $createBackupDir
+ */
+ public function testBackupUserKeys($createBackupDir) {
+
+ $storage = $this->getMockBuilder('OC\Encryption\Keys\Storage')
+ ->setConstructorArgs([$this->view, $this->util])
+ ->setMethods(['getTimestamp'])
+ ->getMock();
+
+ $storage->expects($this->any())->method('getTimestamp')->willReturn('1234567');
+
+ $this->view->expects($this->once())->method('file_exists')
+ ->with('user1/files_encryption/backup')->willReturn(!$createBackupDir);
+
+ if ($createBackupDir) {
+ $this->view->expects($this->at(1))->method('mkdir')
+ ->with('user1/files_encryption/backup');
+ $this->view->expects($this->at(2))->method('mkdir')
+ ->with('user1/files_encryption/backup/test.encryptionModule.1234567');
+ } else {
+ $this->view->expects($this->once())->method('mkdir')
+ ->with('user1/files_encryption/backup/test.encryptionModule.1234567');
+ }
+
+ $this->view->expects($this->once())->method('copy')
+ ->with(
+ 'user1/files_encryption/encryptionModule',
+ 'user1/files_encryption/backup/test.encryptionModule.1234567'
+ )->willReturn(true);
+
+ $this->assertTrue($storage->backupUserKeys('encryptionModule', 'test', 'user1'));
+
+ }
+
+ public function dataTestBackupUserKeys() {
+ return [
+ [true], [false]
+ ];
+ }
+
}