diff options
author | Robin Appelman <robin@icewind.nl> | 2025-02-06 19:39:56 +0100 |
---|---|---|
committer | Andy Scherzinger <info@andy-scherzinger.de> | 2025-02-11 20:35:46 +0100 |
commit | 9e7bed0c46339ff17a68e283c7c3059c847cf329 (patch) | |
tree | fe347341874effa30b816389b783945540c5a3f7 /apps/files_sharing | |
parent | 5eac86afec9d2e78cc981c5d9e10946480db11ca (diff) | |
download | nextcloud-server-backport/50324/stable31.tar.gz nextcloud-server-backport/50324/stable31.zip |
test: add test for shared storage root being changed after watcherbackport/50324/stable31
Signed-off-by: Robin Appelman <robin@icewind.nl>
Diffstat (limited to 'apps/files_sharing')
-rw-r--r-- | apps/files_sharing/tests/CacheTest.php | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/apps/files_sharing/tests/CacheTest.php b/apps/files_sharing/tests/CacheTest.php index 6813accd9be..bce641200d0 100644 --- a/apps/files_sharing/tests/CacheTest.php +++ b/apps/files_sharing/tests/CacheTest.php @@ -14,6 +14,7 @@ use OC\Files\Storage\Wrapper\Jail; use OC\Files\View; use OCA\Files_Sharing\SharedStorage; use OCP\Constants; +use OCP\Files\Cache\IWatcher; use OCP\Share\IShare; /** @@ -567,4 +568,38 @@ class CacheTest extends TestCase { $results = $sharedStorage->getCache()->search('foo.txt'); $this->assertCount(1, $results); } + + public function testWatcherRootChange() { + $sourceStorage = new Temporary(); + $sourceStorage->mkdir('shared'); + $sourceStorage->file_put_contents('shared/foo.txt', 'foo'); + $sourceStorage->getScanner()->scan(''); + $sourceStorage->getWatcher()->setPolicy(IWatcher::CHECK_ALWAYS); + $this->registerMount(self::TEST_FILES_SHARING_API_USER1, $sourceStorage, '/' . self::TEST_FILES_SHARING_API_USER1 . '/files/foo'); + + self::loginHelper(self::TEST_FILES_SHARING_API_USER1); + + $rootFolder = \OC::$server->getUserFolder(self::TEST_FILES_SHARING_API_USER1); + $node = $rootFolder->get('foo/shared'); + $this->assertEquals(3, $node->getSize()); + + $share = $this->shareManager->newShare(); + $share->setNode($node) + ->setShareType(IShare::TYPE_USER) + ->setSharedWith(self::TEST_FILES_SHARING_API_USER2) + ->setSharedBy(self::TEST_FILES_SHARING_API_USER1) + ->setPermissions(Constants::PERMISSION_ALL); + $share = $this->shareManager->createShare($share); + $share->setStatus(IShare::STATUS_ACCEPTED); + $this->shareManager->updateShare($share); + \OC_Util::tearDownFS(); + + self::loginHelper(self::TEST_FILES_SHARING_API_USER2); + + $view = Filesystem::getView(); + + $sourceStorage->rmdir('shared'); + + $this->assertFalse($view->getFileInfo('shared')); + } } |