Skip to content

Commit 6ff24a7

Browse files
icewind1991rullzer
authored andcommitted
update tests
Signed-off-by: Robin Appelman <robin@icewind.nl>
1 parent ba390f6 commit 6ff24a7

File tree

1 file changed

+57
-4
lines changed

1 file changed

+57
-4
lines changed

apps/files_versions/tests/VersioningTest.php

Lines changed: 57 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,8 @@
3737

3838
use OC\Files\Storage\Temporary;
3939
use OCP\IConfig;
40+
use OCP\IUser;
41+
use OCP\Share\IShare;
4042

4143
/**
4244
* Class Test_Files_versions
@@ -54,6 +56,8 @@ class VersioningTest extends \Test\TestCase {
5456
* @var \OC\Files\View
5557
*/
5658
private $rootView;
59+
private $user1;
60+
private $user2;
5761

5862
public static function setUpBeforeClass() {
5963
parent::setUpBeforeClass();
@@ -102,6 +106,13 @@ protected function setUp() {
102106
if (!$this->rootView->file_exists(self::USERS_VERSIONS_ROOT)) {
103107
$this->rootView->mkdir(self::USERS_VERSIONS_ROOT);
104108
}
109+
110+
$this->user1 = $this->createMock(IUser::class);
111+
$this->user1->method('getUID')
112+
->willReturn(self::TEST_VERSIONS_USER);
113+
$this->user2 = $this->createMock(IUser::class);
114+
$this->user2->method('getUID')
115+
->willReturn(self::TEST_VERSIONS_USER2);
105116
}
106117

107118
protected function tearDown() {
@@ -130,7 +141,7 @@ public function testGetExpireList($versions, $sizeOfAllDeletedFiles) {
130141
$startTime = 5000000;
131142

132143
$testClass = new VersionStorageToTest();
133-
list($deleted, $size) = $testClass->callProtectedGetExpireList($startTime, $versions);
144+
[$deleted, $size] = $testClass->callProtectedGetExpireList($startTime, $versions);
134145

135146
// we should have deleted 16 files each of the size 1
136147
$this->assertEquals($sizeOfAllDeletedFiles, $size);
@@ -665,14 +676,56 @@ public function testRestoreNoPermission() {
665676

666677
$firstVersion = current($versions);
667678

668-
$this->assertFalse(\OCA\Files_Versions\Storage::rollback('folder/test.txt', $firstVersion['version']), 'Revert did not happen');
679+
$this->assertFalse(\OCA\Files_Versions\Storage::rollback('folder/test.txt', $firstVersion['version'], $this->user2), 'Revert did not happen');
669680

670681
$this->loginAsUser(self::TEST_VERSIONS_USER);
671682

672683
\OC::$server->getShareManager()->deleteShare($share);
673684
$this->assertEquals('test file', $file->getContent(), 'File content has not changed');
674685
}
675686

687+
public function testRestoreMovedShare() {
688+
$this->loginAsUser(self::TEST_VERSIONS_USER);
689+
690+
$userHome = \OC::$server->getUserFolder(self::TEST_VERSIONS_USER);
691+
$node = $userHome->newFolder('folder');
692+
$file = $node->newFile('test.txt');
693+
694+
$userHome2 = \OC::$server->getUserFolder(self::TEST_VERSIONS_USER2);
695+
$userHome2->newFolder('subfolder');
696+
697+
$share = \OC::$server->getShareManager()->newShare();
698+
$share->setNode($node)
699+
->setShareType(\OCP\Share::SHARE_TYPE_USER)
700+
->setSharedBy(self::TEST_VERSIONS_USER)
701+
->setSharedWith(self::TEST_VERSIONS_USER2)
702+
->setPermissions(\OCP\Constants::PERMISSION_ALL);
703+
$share = \OC::$server->getShareManager()->createShare($share);
704+
$shareManager = \OC::$server->getShareManager();
705+
$shareManager->acceptShare($share, self::TEST_VERSIONS_USER2);
706+
707+
$share->setTarget("subfolder/folder");
708+
$shareManager->moveShare($share, self::TEST_VERSIONS_USER2);
709+
710+
$versions = $this->createAndCheckVersions(
711+
\OC\Files\Filesystem::getView(),
712+
'folder/test.txt'
713+
);
714+
715+
$file->putContent('test file');
716+
717+
$this->loginAsUser(self::TEST_VERSIONS_USER2);
718+
719+
$firstVersion = current($versions);
720+
721+
$this->assertTrue(\OCA\Files_Versions\Storage::rollback('folder/test.txt', $firstVersion['version'], $this->user1));
722+
723+
$this->loginAsUser(self::TEST_VERSIONS_USER);
724+
725+
\OC::$server->getShareManager()->deleteShare($share);
726+
$this->assertEquals('version 2', $file->getContent(), 'File content has not changed');
727+
}
728+
676729
/**
677730
* @param string $hookName name of hook called
678731
* @param string $params variable to receive parameters provided by hook
@@ -733,7 +786,7 @@ private function doTestRestore() {
733786
$params = array();
734787
$this->connectMockHooks('rollback', $params);
735788

736-
$this->assertTrue(\OCA\Files_Versions\Storage::rollback('sub/test.txt', $t2));
789+
$this->assertTrue(\OCA\Files_Versions\Storage::rollback('sub/test.txt', $t2, $this->user1));
737790
$expectedParams = array(
738791
'path' => '/sub/test.txt',
739792
);
@@ -867,7 +920,7 @@ private function createAndCheckVersions(\OC\Files\View $view, $path) {
867920
$this->loginAsUser(self::TEST_VERSIONS_USER);
868921

869922
// need to scan for the versions
870-
list($rootStorage,) = $this->rootView->resolvePath(self::TEST_VERSIONS_USER . '/files_versions');
923+
[$rootStorage,] = $this->rootView->resolvePath(self::TEST_VERSIONS_USER . '/files_versions');
871924
$rootStorage->getScanner()->scan('files_versions');
872925

873926
$versions = \OCA\Files_Versions\Storage::getVersions(

0 commit comments

Comments
 (0)