Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/server.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xapps/files_encryption/lib/helper.php2
-rw-r--r--apps/files_encryption/tests/helper.php37
-rwxr-xr-xapps/files_encryption/tests/util.php6
3 files changed, 44 insertions, 1 deletions
diff --git a/apps/files_encryption/lib/helper.php b/apps/files_encryption/lib/helper.php
index 883e013ef81..67facb761ff 100755
--- a/apps/files_encryption/lib/helper.php
+++ b/apps/files_encryption/lib/helper.php
@@ -275,7 +275,7 @@ class Helper {
$split = explode('/', $trimmed);
// it is not a file relative to data/user/files
- if (count($split) < 2 || $split[1] !== 'files' || $split[1] !== 'cache') {
+ if (count($split) < 2 || ($split[1] !== 'files' && $split[1] !== 'cache')) {
return false;
}
diff --git a/apps/files_encryption/tests/helper.php b/apps/files_encryption/tests/helper.php
index cd2be70a8fe..4b46e976b81 100644
--- a/apps/files_encryption/tests/helper.php
+++ b/apps/files_encryption/tests/helper.php
@@ -8,6 +8,7 @@
require_once __DIR__ . '/../lib/helper.php';
+require_once __DIR__ . '/util.php';
use OCA\Encryption;
@@ -16,6 +17,18 @@ use OCA\Encryption;
*/
class Test_Encryption_Helper extends \PHPUnit_Framework_TestCase {
+ const TEST_ENCRYPTION_HELPER_USER1 = "test-helper-user1";
+
+ public static function setUpBeforeClass() {
+ // create test user
+ \Test_Encryption_Util::loginHelper(\Test_Encryption_Helper::TEST_ENCRYPTION_HELPER_USER1, true);
+ }
+
+ public static function tearDownAfterClass() {
+ // cleanup test user
+ \OC_User::deleteUser(\Test_Encryption_Helper::TEST_ENCRYPTION_HELPER_USER1);
+ }
+
/**
* @medium
*/
@@ -64,4 +77,28 @@ class Test_Encryption_Helper extends \PHPUnit_Framework_TestCase {
$this->assertEquals($relativePath, Encryption\Helper::getPathToRealFile($cachePath));
}
+ function testGetUser() {
+
+ $path1 = "/" . self::TEST_ENCRYPTION_HELPER_USER1 . "/files/foo/bar.txt";
+ $path2 = "/" . self::TEST_ENCRYPTION_HELPER_USER1 . "/cache/foo/bar.txt";
+ $path3 = "/" . self::TEST_ENCRYPTION_HELPER_USER1 . "/thumbnails/foo";
+ $path4 ="/" . "/" . self::TEST_ENCRYPTION_HELPER_USER1;
+
+ // if we are logged-in every path should return the currently logged-in user
+ $this->assertEquals(self::TEST_ENCRYPTION_HELPER_USER1, Encryption\Helper::getUser($path3));
+
+ // now log out
+ \Test_Encryption_Util::logoutHelper();
+
+ // now we should only get the user from /user/files and user/cache paths
+ $this->assertEquals(self::TEST_ENCRYPTION_HELPER_USER1, Encryption\Helper::getUser($path1));
+ $this->assertEquals(self::TEST_ENCRYPTION_HELPER_USER1, Encryption\Helper::getUser($path2));
+
+ $this->assertFalse(Encryption\Helper::getUser($path3));
+ $this->assertFalse(Encryption\Helper::getUser($path4));
+
+ // Log-in again
+ \Test_Encryption_Util::loginHelper(\Test_Encryption_Helper::TEST_ENCRYPTION_HELPER_USER1);
+ }
+
}
diff --git a/apps/files_encryption/tests/util.php b/apps/files_encryption/tests/util.php
index e8dfb74f3f3..c83c3836157 100755
--- a/apps/files_encryption/tests/util.php
+++ b/apps/files_encryption/tests/util.php
@@ -416,6 +416,12 @@ class Test_Encryption_Util extends \PHPUnit_Framework_TestCase {
OCA\Encryption\Hooks::login($params);
}
+ public static function logoutHelper() {
+ \OC_Util::tearDownFS();
+ \OC_User::setUserId('');
+ \OC\Files\Filesystem::tearDown();
+ }
+
/**
* helper function to set migration status to the right value
* to be able to test the migration path