From a7c611039d4ff2008441d0cc79eefcd61fccac48 Mon Sep 17 00:00:00 2001 From: Robin Appelman Date: Mon, 10 Apr 2017 15:19:21 +0200 Subject: [PATCH] Dont use the permissions mask while scanning Signed-off-by: Robin Appelman --- .../Files/Storage/Wrapper/PermissionsMask.php | 4 ++++ .../Files/Storage/Wrapper/PermissionsMaskTest.php | 12 ++++++++++++ 2 files changed, 16 insertions(+) diff --git a/lib/private/Files/Storage/Wrapper/PermissionsMask.php b/lib/private/Files/Storage/Wrapper/PermissionsMask.php index ab0c30a473..d66390dad4 100644 --- a/lib/private/Files/Storage/Wrapper/PermissionsMask.php +++ b/lib/private/Files/Storage/Wrapper/PermissionsMask.php @@ -147,4 +147,8 @@ class PermissionsMask extends Wrapper { } return $data; } + + public function getScanner($path = '', $storage = null) { + return parent::getScanner($path, $this->storage); + } } diff --git a/tests/lib/Files/Storage/Wrapper/PermissionsMaskTest.php b/tests/lib/Files/Storage/Wrapper/PermissionsMaskTest.php index 9859915e2c..d0903ce5f9 100644 --- a/tests/lib/Files/Storage/Wrapper/PermissionsMaskTest.php +++ b/tests/lib/Files/Storage/Wrapper/PermissionsMaskTest.php @@ -10,6 +10,9 @@ namespace Test\Files\Storage\Wrapper; use OCP\Constants; +/** + * @group DB + */ class PermissionsMaskTest extends \Test\Files\Storage\Storage { /** @@ -102,4 +105,13 @@ class PermissionsMaskTest extends \Test\Files\Storage\Storage { $storage = $this->getMaskedStorage(Constants::PERMISSION_ALL - Constants::PERMISSION_CREATE); $this->assertFalse($storage->fopen('foo', 'w')); } + + public function testScanNewFiles() { + $storage = $this->getMaskedStorage(Constants::PERMISSION_READ + Constants::PERMISSION_CREATE); + $storage->file_put_contents('foo', 'bar'); + $storage->getScanner()->scan(''); + + $this->assertEquals(Constants::PERMISSION_ALL - Constants::PERMISSION_CREATE, $this->sourceStorage->getCache()->get('foo')->getPermissions()); + $this->assertEquals(Constants::PERMISSION_READ, $storage->getCache()->get('foo')->getPermissions()); + } }