|
|
|
|
@ -625,6 +625,40 @@ class VersioningTest extends \Test\TestCase {
|
|
|
|
|
$this->doTestRestore();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function testRestoreNoPermission() {
|
|
|
|
|
$this->loginAsUser(self::TEST_VERSIONS_USER);
|
|
|
|
|
|
|
|
|
|
$userHome = \OC::$server->getUserFolder(self::TEST_VERSIONS_USER);
|
|
|
|
|
$node = $userHome->newFolder('folder');
|
|
|
|
|
$file = $node->newFile('test.txt');
|
|
|
|
|
|
|
|
|
|
$share = \OC::$server->getShareManager()->newShare();
|
|
|
|
|
$share->setNode($node)
|
|
|
|
|
->setShareType(\OCP\Share::SHARE_TYPE_USER)
|
|
|
|
|
->setSharedBy(self::TEST_VERSIONS_USER)
|
|
|
|
|
->setSharedWith(self::TEST_VERSIONS_USER2)
|
|
|
|
|
->setPermissions(\OCP\Constants::PERMISSION_READ);
|
|
|
|
|
$share = \OC::$server->getShareManager()->createShare($share);
|
|
|
|
|
|
|
|
|
|
$versions = $this->createAndCheckVersions(
|
|
|
|
|
\OC\Files\Filesystem::getView(),
|
|
|
|
|
'folder/test.txt'
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
$file->putContent('test file');
|
|
|
|
|
|
|
|
|
|
$this->loginAsUser(self::TEST_VERSIONS_USER2);
|
|
|
|
|
|
|
|
|
|
$firstVersion = current($versions);
|
|
|
|
|
|
|
|
|
|
$this->assertFalse(\OCA\Files_Versions\Storage::rollback('folder/test.txt', $firstVersion['version']), 'Revert did not happen');
|
|
|
|
|
|
|
|
|
|
$this->loginAsUser(self::TEST_VERSIONS_USER);
|
|
|
|
|
|
|
|
|
|
\OC::$server->getShareManager()->deleteShare($share);
|
|
|
|
|
$this->assertEquals('test file', $file->getContent(), 'File content has not changed');
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @param string $hookName name of hook called
|
|
|
|
|
* @param string $params variable to receive parameters provided by hook
|
|
|
|
|
@ -685,7 +719,7 @@ class VersioningTest extends \Test\TestCase {
|
|
|
|
|
$params = array();
|
|
|
|
|
$this->connectMockHooks('rollback', $params);
|
|
|
|
|
|
|
|
|
|
\OCA\Files_Versions\Storage::rollback('sub/test.txt', $t2);
|
|
|
|
|
$this->assertTrue(\OCA\Files_Versions\Storage::rollback('sub/test.txt', $t2));
|
|
|
|
|
$expectedParams = array(
|
|
|
|
|
'path' => '/sub/test.txt',
|
|
|
|
|
);
|
|
|
|
|
@ -829,6 +863,8 @@ class VersioningTest extends \Test\TestCase {
|
|
|
|
|
// note: we cannot predict how many versions are created due to
|
|
|
|
|
// test run timing
|
|
|
|
|
$this->assertGreaterThan(0, count($versions));
|
|
|
|
|
|
|
|
|
|
return $versions;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|