Skip to content

Commit e89688b

Browse files
icewind1991backportbot[bot]
authored andcommitted
test: add test for shared storage root being changed after watcher
Signed-off-by: Robin Appelman <[email protected]>
1 parent 6d47838 commit e89688b

File tree

1 file changed

+35
-0
lines changed

1 file changed

+35
-0
lines changed

apps/files_sharing/tests/CacheTest.php

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
use OC\Files\View;
1515
use OCA\Files_Sharing\SharedStorage;
1616
use OCP\Constants;
17+
use OCP\Files\Cache\IWatcher;
1718
use OCP\Share\IShare;
1819

1920
/**
@@ -567,4 +568,38 @@ public function testSearchShareJailedStorage(): void {
567568
$results = $sharedStorage->getCache()->search('foo.txt');
568569
$this->assertCount(1, $results);
569570
}
571+
572+
public function testWatcherRootChange() {
573+
$sourceStorage = new Temporary();
574+
$sourceStorage->mkdir('shared');
575+
$sourceStorage->file_put_contents('shared/foo.txt', 'foo');
576+
$sourceStorage->getScanner()->scan('');
577+
$sourceStorage->getWatcher()->setPolicy(IWatcher::CHECK_ALWAYS);
578+
$this->registerMount(self::TEST_FILES_SHARING_API_USER1, $sourceStorage, '/' . self::TEST_FILES_SHARING_API_USER1 . '/files/foo');
579+
580+
self::loginHelper(self::TEST_FILES_SHARING_API_USER1);
581+
582+
$rootFolder = \OC::$server->getUserFolder(self::TEST_FILES_SHARING_API_USER1);
583+
$node = $rootFolder->get('foo/shared');
584+
$this->assertEquals(3, $node->getSize());
585+
586+
$share = $this->shareManager->newShare();
587+
$share->setNode($node)
588+
->setShareType(IShare::TYPE_USER)
589+
->setSharedWith(self::TEST_FILES_SHARING_API_USER2)
590+
->setSharedBy(self::TEST_FILES_SHARING_API_USER1)
591+
->setPermissions(Constants::PERMISSION_ALL);
592+
$share = $this->shareManager->createShare($share);
593+
$share->setStatus(IShare::STATUS_ACCEPTED);
594+
$this->shareManager->updateShare($share);
595+
\OC_Util::tearDownFS();
596+
597+
self::loginHelper(self::TEST_FILES_SHARING_API_USER2);
598+
599+
$view = Filesystem::getView();
600+
601+
$sourceStorage->rmdir('shared');
602+
603+
$this->assertFalse($view->getFileInfo('shared'));
604+
}
570605
}

0 commit comments

Comments
 (0)