Merge pull request #4278 from nextcloud/permissions-mask-scanner-11

Dont use the permissions mask while scanning
This commit is contained in:
Morris Jobke 2017-04-10 13:01:16 -05:00 committed by GitHub
commit 7ce627c308
2 changed files with 16 additions and 0 deletions

View File

@ -138,4 +138,8 @@ class PermissionsMask extends Wrapper {
$sourceCache = parent::getCache($path, $storage);
return new CachePermissionsMask($sourceCache, $this->mask);
}
public function getScanner($path = '', $storage = null) {
return parent::getScanner($path, $this->storage);
}
}

View File

@ -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());
}
}