[Pkg-owncloud-commits] [owncloud] 107/131: Add a unit test for the disabled encryption case

David Prévot taffit at moszumanska.debian.org
Tue Aug 11 15:58:41 UTC 2015


This is an automated email from the git hooks/post-receive script.

taffit pushed a commit to annotated tag v8.1.1
in repository owncloud.

commit c4ddf08b79803da34feb5de2013c80ec436e3351
Author: Joas Schilling <nickvergessen at owncloud.com>
Date:   Thu Jul 23 17:01:44 2015 +0200

    Add a unit test for the disabled encryption case
---
 tests/lib/files/storage/wrapper/encryption.php | 61 +++++++++++++++++++++++++-
 1 file changed, 60 insertions(+), 1 deletion(-)

diff --git a/tests/lib/files/storage/wrapper/encryption.php b/tests/lib/files/storage/wrapper/encryption.php
index 677bbff..612cf82 100644
--- a/tests/lib/files/storage/wrapper/encryption.php
+++ b/tests/lib/files/storage/wrapper/encryption.php
@@ -139,7 +139,15 @@ class Encryption extends \Test\Files\Storage\Storage {
 			->disableOriginalConstructor()
 			->setMethods(['getOption'])
 			->getMock();
-		$this->mount->expects($this->any())->method('getOption')->willReturn(true);
+		$this->mount->expects($this->any())->method('getOption')->willReturnCallback(function ($option, $default) {
+			if ($option === 'encrypt' && $default === true) {
+				global $mockedMountPointEncryptionEnabled;
+				if ($mockedMountPointEncryptionEnabled !== null) {
+					return $mockedMountPointEncryptionEnabled;
+				}
+			}
+			return true;
+		});
 
 		$this->cache = $this->getMockBuilder('\OC\Files\Cache\Cache')
 			->disableOriginalConstructor()->getMock();
@@ -542,4 +550,55 @@ class Encryption extends \Test\Files\Storage\Storage {
 		];
 	}
 
+	public function dataCopyBetweenStorage() {
+		return [
+			[true, true, true],
+			[true, false, false],
+			[false, true, false],
+			[false, false, false],
+		];
+	}
+
+	/**
+	 * @dataProvider dataCopyBetweenStorage
+	 *
+	 * @param bool $encryptionEnabled
+	 * @param bool $mountPointEncryptionEnabled
+	 * @param bool $expectedEncrypted
+	 */
+	public function testCopyBetweenStorage($encryptionEnabled, $mountPointEncryptionEnabled, $expectedEncrypted) {
+		$storage2 = $this->getMockBuilder('OCP\Files\Storage')
+			->disableOriginalConstructor()
+			->getMock();
+
+		$sourceInternalPath = $targetInternalPath = 'file.txt';
+		$preserveMtime = $isRename = false;
+
+		$storage2->expects($this->any())
+			->method('fopen')
+			->willReturnCallback(function($path, $mode) {
+				$temp = \OC::$server->getTempManager();
+				return fopen($temp->getTemporaryFile(), $mode);
+			});
+
+		$this->encryptionManager->expects($this->any())
+			->method('isEnabled')
+			->willReturn($encryptionEnabled);
+
+		// FIXME can not overwrite the return after definition
+//		$this->mount->expects($this->at(0))
+//			->method('getOption')
+//			->with('encrypt', true)
+//			->willReturn($mountPointEncryptionEnabled);
+		global $mockedMountPointEncryptionEnabled;
+		$mockedMountPointEncryptionEnabled = $mountPointEncryptionEnabled;
+
+		$this->cache->expects($this->once())
+			->method('put')
+			->with($sourceInternalPath, ['encrypted' => $expectedEncrypted]);
+
+		$this->invokePrivate($this->instance, 'copyBetweenStorage', [$storage2, $sourceInternalPath, $targetInternalPath, $preserveMtime, $isRename]);
+
+		$this->assertFalse(false);
+	}
 }

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-owncloud/owncloud.git



More information about the Pkg-owncloud-commits mailing list