diff options
author | Bjoern Schiessle <schiessle@owncloud.com> | 2014-10-28 15:57:08 +0100 |
---|---|---|
committer | Bjoern Schiessle <schiessle@owncloud.com> | 2014-10-29 10:11:01 +0100 |
commit | 9d1be0bbaf7d8af442fc8d908baff743cc823a98 (patch) | |
tree | a550320233b0a36a9bd839d92727848b70992a85 /apps/files_versions/tests | |
parent | c864f5e20c5ecd1bca55c6ac26c7a5d0721e85e9 (diff) | |
download | nextcloud-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.php | 58 |
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)); |