summaryrefslogtreecommitdiffstats
path: root/tests/lib/Encryption
diff options
context:
space:
mode:
authorBjoern Schiessle <bjoern@schiessle.org>2018-10-24 16:49:39 +0200
committerBjoern Schiessle <bjoern@schiessle.org>2018-10-24 16:53:39 +0200
commitd76a87f3b0ad3f96373984db31470463b1fdc946 (patch)
treec5323311a03027f89045bbb9745b4c59109a14f0 /tests/lib/Encryption
parent87657fffd8aa3e7e8211b3c866b56042e78a922a (diff)
downloadnextcloud-server-d76a87f3b0ad3f96373984db31470463b1fdc946.tar.gz
nextcloud-server-d76a87f3b0ad3f96373984db31470463b1fdc946.zip
skip already decrypted files on decrypt all command
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
Diffstat (limited to 'tests/lib/Encryption')
-rw-r--r--tests/lib/Encryption/DecryptAllTest.php41
1 files changed, 31 insertions, 10 deletions
diff --git a/tests/lib/Encryption/DecryptAllTest.php b/tests/lib/Encryption/DecryptAllTest.php
index 59c24fb3c1d..4e4b2438a25 100644
--- a/tests/lib/Encryption/DecryptAllTest.php
+++ b/tests/lib/Encryption/DecryptAllTest.php
@@ -311,7 +311,10 @@ class DecryptAllTest extends TestCase {
}
- public function testDecryptFile() {
+ /**
+ * @dataProvider dataTrueFalse
+ */
+ public function testDecryptFile($isEncrypted) {
$path = 'test.txt';
@@ -327,15 +330,26 @@ class DecryptAllTest extends TestCase {
->setMethods(['getTimestamp'])
->getMock();
- $instance->expects($this->any())->method('getTimestamp')->willReturn(42);
-
- $this->view->expects($this->once())
- ->method('copy')
- ->with($path, $path . '.decrypted.42');
- $this->view->expects($this->once())
- ->method('rename')
- ->with($path . '.decrypted.42', $path);
-
+ $fileInfo = $this->createMock(FileInfo::class);
+ $fileInfo->expects($this->any())->method('isEncrypted')
+ ->willReturn($isEncrypted);
+ $this->view->expects($this->any())->method('getFileInfo')
+ ->willReturn($fileInfo);
+
+ if ($isEncrypted) {
+ $instance->expects($this->any())->method('getTimestamp')->willReturn(42);
+
+ $this->view->expects($this->once())
+ ->method('copy')
+ ->with($path, $path . '.decrypted.42');
+ $this->view->expects($this->once())
+ ->method('rename')
+ ->with($path . '.decrypted.42', $path);
+ } else {
+ $instance->expects($this->never())->method('getTimestamp');
+ $this->view->expects($this->never())->method('copy');
+ $this->view->expects($this->never())->method('rename');
+ }
$this->assertTrue(
$this->invokePrivate($instance, 'decryptFile', [$path])
);
@@ -356,6 +370,13 @@ class DecryptAllTest extends TestCase {
->setMethods(['getTimestamp'])
->getMock();
+
+ $fileInfo = $this->createMock(FileInfo::class);
+ $fileInfo->expects($this->any())->method('isEncrypted')
+ ->willReturn(true);
+ $this->view->expects($this->any())->method('getFileInfo')
+ ->willReturn($fileInfo);
+
$instance->expects($this->any())->method('getTimestamp')->willReturn(42);
$this->view->expects($this->once())