aboutsummaryrefslogtreecommitdiffstats
path: root/tests/lib/files
diff options
context:
space:
mode:
authorBjoern Schiessle <schiessle@owncloud.com>2015-04-23 16:48:11 +0200
committerBjoern Schiessle <schiessle@owncloud.com>2015-04-23 17:18:48 +0200
commit2990b0e07e418577d55368c21200ada86c381b51 (patch)
treef09260b3be548d9ea0a86dd9d54b28ee8323ef14 /tests/lib/files
parentf8f354b351a349898bbb5cdf2d9bee1c798c0f73 (diff)
downloadnextcloud-server-2990b0e07e418577d55368c21200ada86c381b51.tar.gz
nextcloud-server-2990b0e07e418577d55368c21200ada86c381b51.zip
update share keys if a file is moved to a shared folder
Diffstat (limited to 'tests/lib/files')
-rw-r--r--tests/lib/files/storage/wrapper/encryption.php59
1 files changed, 53 insertions, 6 deletions
diff --git a/tests/lib/files/storage/wrapper/encryption.php b/tests/lib/files/storage/wrapper/encryption.php
index 1d776555503..12309c5ac44 100644
--- a/tests/lib/files/storage/wrapper/encryption.php
+++ b/tests/lib/files/storage/wrapper/encryption.php
@@ -13,10 +13,25 @@ class Encryption extends \Test\Files\Storage\Storage {
private $sourceStorage;
/**
+ * @var \OC\Files\Storage\Wrapper\Encryption
+ */
+ protected $instance;
+
+ /**
* @var \OC\Encryption\Keys\Storage | \PHPUnit_Framework_MockObject_MockObject
*/
private $keyStore;
+ /**
+ * @var \OC\Encryption\Util | \PHPUnit_Framework_MockObject_MockObject
+ */
+ private $util;
+
+ /**
+ * @var \OC\Encryption\Update | \PHPUnit_Framework_MockObject_MockObject
+ */
+ private $update;
+
public function setUp() {
parent::setUp();
@@ -43,8 +58,8 @@ class Encryption extends \Test\Files\Storage\Storage {
->disableOriginalConstructor()
->getMock();
- $util = $this->getMock('\OC\Encryption\Util', ['getUidAndFilename'], [new View(), new \OC\User\Manager(), $groupManager, $config]);
- $util->expects($this->any())
+ $this->util = $this->getMock('\OC\Encryption\Util', ['getUidAndFilename', 'isFile'], [new View(), new \OC\User\Manager(), $groupManager, $config]);
+ $this->util->expects($this->any())
->method('getUidAndFilename')
->willReturnCallback(function ($path) {
return ['user1', $path];
@@ -61,6 +76,8 @@ class Encryption extends \Test\Files\Storage\Storage {
$this->sourceStorage = new Temporary(array());
$this->keyStore = $this->getMockBuilder('\OC\Encryption\Keys\Storage')
->disableOriginalConstructor()->getMock();
+ $this->update = $this->getMockBuilder('\OC\Encryption\Update')
+ ->disableOriginalConstructor()->getMock();
$mount = $this->getMockBuilder('\OC\Files\Mount\MountPoint')
->disableOriginalConstructor()
->setMethods(['getOption'])
@@ -72,7 +89,7 @@ class Encryption extends \Test\Files\Storage\Storage {
'mountPoint' => '/',
'mount' => $mount
],
- $encryptionManager, $util, $logger, $file, null, $this->keyStore
+ $encryptionManager, $this->util, $logger, $file, null, $this->keyStore, $this->update
);
}
@@ -97,11 +114,41 @@ class Encryption extends \Test\Files\Storage\Storage {
return $encryptionModule;
}
- public function testRename() {
+ /**
+ * @dataProvider dataTestRename
+ *
+ * @param string $source
+ * @param string $target
+ * @param boolean $shouldUpdate
+ */
+ public function testRename($source, $target, $shouldUpdate) {
$this->keyStore
->expects($this->once())
->method('renameKeys');
- $this->instance->mkdir('folder');
- $this->instance->rename('folder', 'flodder');
+ $this->util->expects($this->any())
+ ->method('isFile')->willReturn(true);
+ if ($shouldUpdate) {
+ $this->update->expects($this->once())
+ ->method('update');
+ } else {
+ $this->update->expects($this->never())
+ ->method('update');
+ }
+
+ $this->instance->mkdir($source);
+ $this->instance->mkdir(dirname($target));
+ $this->instance->rename($source, $target);
+ }
+
+ /**
+ * data provider for testRename()
+ *
+ * @return array
+ */
+ public function dataTestRename() {
+ return array(
+ array('source', 'target', false),
+ array('source', '/subFolder/target', true),
+ );
}
}