summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--apps/encryption/lib/crypto/encryption.php5
-rw-r--r--apps/encryption/tests/lib/crypto/encryptionTest.php25
2 files changed, 29 insertions, 1 deletions
diff --git a/apps/encryption/lib/crypto/encryption.php b/apps/encryption/lib/crypto/encryption.php
index 0fd85fa4e9a..c060bb04e53 100644
--- a/apps/encryption/lib/crypto/encryption.php
+++ b/apps/encryption/lib/crypto/encryption.php
@@ -330,7 +330,7 @@ class Encryption implements IEncryptionModule {
*/
public function shouldEncrypt($path) {
$parts = explode('/', $path);
- if (count($parts) < 3) {
+ if (count($parts) < 4) {
return false;
}
@@ -340,6 +340,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 aa28a8b44a4..960ed112488 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),
+ );
+ }
+
}