summaryrefslogtreecommitdiffstats
path: root/apps/files_versions/tests
diff options
context:
space:
mode:
authorBjoern Schiessle <schiessle@owncloud.com>2014-10-28 15:57:08 +0100
committerBjoern Schiessle <schiessle@owncloud.com>2014-10-29 10:11:01 +0100
commit9d1be0bbaf7d8af442fc8d908baff743cc823a98 (patch)
treea550320233b0a36a9bd839d92727848b70992a85 /apps/files_versions/tests
parentc864f5e20c5ecd1bca55c6ac26c7a5d0721e85e9 (diff)
downloadnextcloud-server-9d1be0bbaf7d8af442fc8d908baff743cc823a98.tar.gz
nextcloud-server-9d1be0bbaf7d8af442fc8d908baff743cc823a98.zip
get the source path and owner in a pre hook and the target path and owner in a
post hook
Diffstat (limited to 'apps/files_versions/tests')
-rw-r--r--apps/files_versions/tests/versions.php58
1 files changed, 56 insertions, 2 deletions
diff --git a/apps/files_versions/tests/versions.php b/apps/files_versions/tests/versions.php
index 558c8dfcb8a..6dfba6bcf23 100644
--- a/apps/files_versions/tests/versions.php
+++ b/apps/files_versions/tests/versions.php
@@ -30,18 +30,28 @@ require_once __DIR__ . '/../lib/versions.php';
class Test_Files_Versioning extends \PHPUnit_Framework_TestCase {
const TEST_VERSIONS_USER = 'test-versions-user';
+ const TEST_VERSIONS_USER2 = 'test-versions-user2';
const USERS_VERSIONS_ROOT = '/test-versions-user/files_versions';
private $rootView;
public static function setUpBeforeClass() {
+
+ // clear share hooks
+ \OC_Hook::clear('OCP\\Share');
+ \OC::registerShareHooks();
+ \OCA\Files_Versions\Hooks::connectHooks();
+ \OCP\Util::connectHook('OC_Filesystem', 'setup', '\OC\Files\Storage\Shared', 'setup');
+
// create test user
+ self::loginHelper(self::TEST_VERSIONS_USER2, true);
self::loginHelper(self::TEST_VERSIONS_USER, true);
}
public static function tearDownAfterClass() {
// cleanup test user
\OC_User::deleteUser(self::TEST_VERSIONS_USER);
+ \OC_User::deleteUser(self::TEST_VERSIONS_USER2);
}
function setUp() {
@@ -222,7 +232,7 @@ class Test_Files_Versioning extends \PHPUnit_Framework_TestCase {
$this->rootView->file_put_contents($v2, 'version2');
// execute rename hook of versions app
- \OCA\Files_Versions\Storage::renameOrCopy("test.txt", "test2.txt", 'rename');
+ \OC\Files\Filesystem::rename("test.txt", "test2.txt");
$this->assertFalse($this->rootView->file_exists($v1));
$this->assertFalse($this->rootView->file_exists($v2));
@@ -234,6 +244,50 @@ class Test_Files_Versioning extends \PHPUnit_Framework_TestCase {
\OC\Files\Filesystem::unlink('test2.txt');
}
+ function testRenameInSharedFolder() {
+
+ \OC\Files\Filesystem::mkdir('folder1');
+ \OC\Files\Filesystem::mkdir('folder1/folder2');
+ \OC\Files\Filesystem::file_put_contents("folder1/test.txt", "test file");
+
+ $fileInfo = \OC\Files\Filesystem::getFileInfo('folder1');
+
+ $t1 = time();
+ // second version is two weeks older, this way we make sure that no
+ // version will be expired
+ $t2 = $t1 - 60 * 60 * 24 * 14;
+
+ $this->rootView->mkdir(self::USERS_VERSIONS_ROOT . '/folder1');
+ // create some versions
+ $v1 = self::USERS_VERSIONS_ROOT . '/folder1/test.txt.v' . $t1;
+ $v2 = self::USERS_VERSIONS_ROOT . '/folder1/test.txt.v' . $t2;
+ $v1Renamed = self::USERS_VERSIONS_ROOT . '/folder1/folder2/test.txt.v' . $t1;
+ $v2Renamed = self::USERS_VERSIONS_ROOT . '/folder1/folder2/test.txt.v' . $t2;
+
+ $this->rootView->file_put_contents($v1, 'version1');
+ $this->rootView->file_put_contents($v2, 'version2');
+
+ \OCP\Share::shareItem('folder', $fileInfo['fileid'], \OCP\Share::SHARE_TYPE_USER, self::TEST_VERSIONS_USER2, OCP\PERMISSION_ALL);
+
+ self::loginHelper(self::TEST_VERSIONS_USER2);
+
+ $this->assertTrue(\OC\Files\Filesystem::file_exists('folder1/test.txt'));
+
+ // execute rename hook of versions app
+ \OC\Files\Filesystem::rename('/folder1/test.txt', '/folder1/folder2/test.txt');
+
+ self::loginHelper(self::TEST_VERSIONS_USER2);
+
+ $this->assertFalse($this->rootView->file_exists($v1));
+ $this->assertFalse($this->rootView->file_exists($v2));
+
+ $this->assertTrue($this->rootView->file_exists($v1Renamed));
+ $this->assertTrue($this->rootView->file_exists($v2Renamed));
+
+ //cleanup
+ \OC\Files\Filesystem::unlink('/folder1/folder2/test.txt');
+ }
+
function testCopy() {
\OC\Files\Filesystem::file_put_contents("test.txt", "test file");
@@ -253,7 +307,7 @@ class Test_Files_Versioning extends \PHPUnit_Framework_TestCase {
$this->rootView->file_put_contents($v2, 'version2');
// execute copy hook of versions app
- \OCA\Files_Versions\Storage::renameOrCopy("test.txt", "test2.txt", 'copy');
+ \OC\Files\Filesystem::copy("test.txt", "test2.txt");
$this->assertTrue($this->rootView->file_exists($v1));
$this->assertTrue($this->rootView->file_exists($v2));