diff options
author | Bjoern Schiessle <schiessle@owncloud.com> | 2015-04-28 17:31:03 +0200 |
---|---|---|
committer | Bjoern Schiessle <schiessle@owncloud.com> | 2015-04-28 20:21:53 +0200 |
commit | d5cbb66b667e5850bd6ed45d7a211d332d1c93c8 (patch) | |
tree | 35e23f85a81c46817b25f63ecae8fd54203b5389 /apps/encryption/tests | |
parent | df428b76ac498110bde0bfec1ad726cf24c21cfa (diff) | |
download | nextcloud-server-d5cbb66b667e5850bd6ed45d7a211d332d1c93c8.tar.gz nextcloud-server-d5cbb66b667e5850bd6ed45d7a211d332d1c93c8.zip |
also create encryption keys for empty files
Diffstat (limited to 'apps/encryption/tests')
-rw-r--r-- | apps/encryption/tests/lib/crypto/encryptionTest.php | 30 |
1 files changed, 22 insertions, 8 deletions
diff --git a/apps/encryption/tests/lib/crypto/encryptionTest.php b/apps/encryption/tests/lib/crypto/encryptionTest.php index 2fbc7a111da..cb4ca2d3a12 100644 --- a/apps/encryption/tests/lib/crypto/encryptionTest.php +++ b/apps/encryption/tests/lib/crypto/encryptionTest.php @@ -86,7 +86,7 @@ class EncryptionTest extends TestCase { /** * @dataProvider dataTestBegin */ - public function testBegin($mode, $header, $legacyCipher, $defaultCipher, $expected) { + public function testBegin($mode, $header, $legacyCipher, $defaultCipher, $fileKey, $expected) { $this->cryptMock->expects($this->any()) ->method('getCipher') @@ -94,22 +94,36 @@ class EncryptionTest extends TestCase { $this->cryptMock->expects($this->any()) ->method('getLegacyCipher') ->willReturn($legacyCipher); - $this->cryptMock->expects($this->any()) - ->method('generateFileKey') - ->willReturn('fileKey'); + if (empty($fileKey)) { + $this->cryptMock->expects($this->once()) + ->method('generateFileKey') + ->willReturn('fileKey'); + } else { + $this->cryptMock->expects($this->never()) + ->method('generateFileKey'); + } + + $this->keyManagerMock->expects($this->once()) + ->method('getFileKey') + ->willReturn($fileKey); $result = $this->instance->begin('/user/files/foo.txt', 'user', $mode, $header, []); $this->assertArrayHasKey('cipher', $result); $this->assertSame($expected, $result['cipher']); + if ($mode === 'w') { + $this->assertTrue(\Test_Helper::invokePrivate($this->instance, 'isWriteOperation')); + } else { + $this->assertFalse(\Test_Helper::invokePrivate($this->instance, 'isWriteOperation')); + } } public function dataTestBegin() { return array( - array('w', ['cipher' => 'myCipher'], 'legacyCipher', 'defaultCipher', 'myCipher'), - array('r', ['cipher' => 'myCipher'], 'legacyCipher', 'defaultCipher', 'myCipher'), - array('w', [], 'legacyCipher', 'defaultCipher', 'defaultCipher'), - array('r', [], 'legacyCipher', 'defaultCipher', 'legacyCipher'), + array('w', ['cipher' => 'myCipher'], 'legacyCipher', 'defaultCipher', 'fileKey', 'myCipher'), + array('r', ['cipher' => 'myCipher'], 'legacyCipher', 'defaultCipher', 'fileKey', 'myCipher'), + array('w', [], 'legacyCipher', 'defaultCipher', '', 'defaultCipher'), + array('r', [], 'legacyCipher', 'defaultCipher', 'file_key', 'legacyCipher'), ); } |