From 7d492fefae25ce11944ac611229eb3a949908e55 Mon Sep 17 00:00:00 2001 From: Bjoern Schiessle Date: Mon, 18 May 2015 12:51:47 +0200 Subject: [PATCH] also encrypt files in trash bin --- apps/encryption/lib/crypto/encryption.php | 5 +++- .../tests/lib/crypto/encryptionTest.php | 25 +++++++++++++++++++ 2 files changed, 29 insertions(+), 1 deletion(-) diff --git a/apps/encryption/lib/crypto/encryption.php b/apps/encryption/lib/crypto/encryption.php index a4abcd7dc5..f19638da7c 100644 --- a/apps/encryption/lib/crypto/encryption.php +++ b/apps/encryption/lib/crypto/encryption.php @@ -321,7 +321,7 @@ class Encryption implements IEncryptionModule { */ public function shouldEncrypt($path) { $parts = explode('/', $path); - if (count($parts) < 3) { + if (count($parts) < 4) { return false; } @@ -331,6 +331,9 @@ class Encryption implements IEncryptionModule { if ($parts[2] == 'files_versions') { return true; } + if ($parts[2] == 'files_trashbin') { + return true; + } return false; } diff --git a/apps/encryption/tests/lib/crypto/encryptionTest.php b/apps/encryption/tests/lib/crypto/encryptionTest.php index aa28a8b44a..960ed11248 100644 --- a/apps/encryption/tests/lib/crypto/encryptionTest.php +++ b/apps/encryption/tests/lib/crypto/encryptionTest.php @@ -220,4 +220,29 @@ class EncryptionTest extends TestCase { ); } + /** + * by default the encryption module should encrypt regular files, files in + * files_versions and files in files_trashbin + * + * @dataProvider dataTestShouldEncrypt + */ + public function testShouldEncrypt($path, $expected) { + $this->assertSame($expected, + $this->instance->shouldEncrypt($path) + ); + } + + public function dataTestShouldEncrypt() { + return array( + array('/user1/files/foo.txt', true), + array('/user1/files_versions/foo.txt', true), + array('/user1/files_trashbin/foo.txt', true), + array('/user1/some_folder/foo.txt', false), + array('/user1/foo.txt', false), + array('/user1/files', false), + array('/user1/files_trashbin', false), + array('/user1/files_versions', false), + ); + } + }