summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorBjörn Schießle <bjoern@schiessle.org>2015-05-18 19:26:40 +0200
committerBjörn Schießle <bjoern@schiessle.org>2015-05-18 19:26:40 +0200
commit1c411baf17467f6d754c390317a775e685416aa1 (patch)
tree11df14d05f8615c9c8fe1728f9892c764f16218e /tests
parentb085f5855362bb8c305083c1d60ebfd459323a96 (diff)
parent1c500487ba33b5218929d08a6c95fd1096f7f9ce (diff)
downloadnextcloud-server-1c411baf17467f6d754c390317a775e685416aa1.tar.gz
nextcloud-server-1c411baf17467f6d754c390317a775e685416aa1.zip
Merge pull request #16412 from owncloud/jknockaert-patch-1
fix #16356
Diffstat (limited to 'tests')
-rw-r--r--tests/lib/files/stream/encryption.php12
1 files changed, 10 insertions, 2 deletions
diff --git a/tests/lib/files/stream/encryption.php b/tests/lib/files/stream/encryption.php
index 30c6d247236..c2388c7682a 100644
--- a/tests/lib/files/stream/encryption.php
+++ b/tests/lib/files/stream/encryption.php
@@ -7,6 +7,9 @@ use OCA\Encryption_Dummy\DummyModule;
class Encryption extends \Test\TestCase {
+ /** @var \OCP\Encryption\IEncryptionModule | \PHPUnit_Framework_MockObject_MockObject */
+ private $encryptionModule;
+
/**
* @param string $fileName
* @param string $mode
@@ -21,7 +24,7 @@ class Encryption extends \Test\TestCase {
$fullPath = $fileName;
$header = [];
$uid = '';
- $encryptionModule = $this->buildMockModule();
+ $this->encryptionModule = $this->buildMockModule();
$storage = $this->getMockBuilder('\OC\Files\Storage\Storage')
->disableOriginalConstructor()->getMock();
$encStorage = $this->getMockBuilder('\OC\Files\Storage\Wrapper\Encryption')
@@ -43,7 +46,7 @@ class Encryption extends \Test\TestCase {
->willReturn(['user1', $internalPath]);
return \OC\Files\Stream\Encryption::wrap($source, $internalPath,
- $fullPath, $header, $uid, $encryptionModule, $storage, $encStorage,
+ $fullPath, $header, $uid, $this->encryptionModule, $storage, $encStorage,
$util, $file, $mode, $size, $unencryptedSize, 8192);
}
@@ -221,10 +224,15 @@ class Encryption extends \Test\TestCase {
* @dataProvider dataFilesProvider
*/
public function testWriteReadBigFile($testFile) {
+
$expectedData = file_get_contents(\OC::$SERVERROOT . '/tests/data/' . $testFile);
// write it
$fileName = tempnam("/tmp", "FOO");
$stream = $this->getStream($fileName, 'w+', 0);
+ // while writing the file from the beginning to the end we should never try
+ // to read parts of the file. This should only happen for write operations
+ // in the middle of a file
+ $this->encryptionModule->expects($this->never())->method('decrypt');
fwrite($stream, $expectedData);
fclose($stream);