diff options
author | Bjoern Schiessle <schiessle@owncloud.com> | 2015-07-31 15:44:27 +0200 |
---|---|---|
committer | Bjoern Schiessle <schiessle@owncloud.com> | 2015-07-31 17:14:32 +0200 |
commit | 51a67a54e06eb4119a56a0f9f21b79bdea7c43f3 (patch) | |
tree | 7c1cc31fa54742b10916c26e4a98790f1c821ca8 | |
parent | de01951da32efdebfff4ddb21cd07328a2d28e31 (diff) | |
download | nextcloud-server-51a67a54e06eb4119a56a0f9f21b79bdea7c43f3.tar.gz nextcloud-server-51a67a54e06eb4119a56a0f9f21b79bdea7c43f3.zip |
always update file cache, the cache can handle partial data correctly if the file doesn't already exists in the file cache
-rw-r--r-- | lib/private/files/storage/wrapper/encryption.php | 9 | ||||
-rw-r--r-- | tests/lib/files/storage/wrapper/encryption.php | 8 |
2 files changed, 9 insertions, 8 deletions
diff --git a/lib/private/files/storage/wrapper/encryption.php b/lib/private/files/storage/wrapper/encryption.php index 51aa13065c1..4ba9b21ddb4 100644 --- a/lib/private/files/storage/wrapper/encryption.php +++ b/lib/private/files/storage/wrapper/encryption.php @@ -127,12 +127,11 @@ class Encryption extends Wrapper { $info = $this->getCache()->get($path); if (isset($this->unencryptedSize[$fullPath])) { $size = $this->unencryptedSize[$fullPath]; + // update file cache + $info['encrypted'] = true; + $info['size'] = $size; + $this->getCache()->put($path, $info); - if (isset($info['fileid'])) { - $info['encrypted'] = true; - $info['size'] = $size; - $this->getCache()->put($path, $info); - } return $size; } diff --git a/tests/lib/files/storage/wrapper/encryption.php b/tests/lib/files/storage/wrapper/encryption.php index 612cf827975..c49e6bb0d1f 100644 --- a/tests/lib/files/storage/wrapper/encryption.php +++ b/tests/lib/files/storage/wrapper/encryption.php @@ -261,10 +261,12 @@ class Encryption extends \Test\Files\Storage\Storage { ->expects($this->once()) ->method('copyKeys') ->willReturn($copyKeysReturn); - $this->cache->expects($this->once()) + $this->cache->expects($this->atLeastOnce()) ->method('put') - ->with($this->anything(), ['encrypted' => true]) - ->willReturn(true); + ->willReturnCallback(function($path, $data) { + $this->assertArrayHasKey('encrypted', $data); + $this->assertTrue($data['encrypted']); + }); } else { $this->cache->expects($this->never())->method('put'); $this->keyStore->expects($this->never())->method('copyKeys'); |