aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJulius Härtl <jus@bitgrid.net>2023-10-18 14:29:14 +0200
committerJulius Härtl <jus@bitgrid.net>2023-10-18 14:31:27 +0200
commitf3ae617bde99f8babddca634edb1f1f632b69191 (patch)
treea705b2cf225c933be50d78f706f9df61ff148958
parentbe373fca3cb8191ceefb77e05cc93e8c0050549d (diff)
downloadnextcloud-server-f3ae617bde99f8babddca634edb1f1f632b69191.tar.gz
nextcloud-server-f3ae617bde99f8babddca634edb1f1f632b69191.zip
test(files_sharing): Test if recent files result use actual share target name
Signed-off-by: Julius Härtl <jus@bitgrid.net>
-rw-r--r--apps/files_sharing/tests/CacheTest.php37
1 files changed, 37 insertions, 0 deletions
diff --git a/apps/files_sharing/tests/CacheTest.php b/apps/files_sharing/tests/CacheTest.php
index f4f64bc6a32..50e5433d10f 100644
--- a/apps/files_sharing/tests/CacheTest.php
+++ b/apps/files_sharing/tests/CacheTest.php
@@ -88,6 +88,7 @@ class CacheTest extends TestCase {
$this->view->file_put_contents('container/shareddir/subdir/another.txt', $textData);
$this->view->file_put_contents('container/shareddir/subdir/another too.txt', $textData);
$this->view->file_put_contents('container/shareddir/subdir/not a text file.xml', '<xml></xml>');
+ $this->view->file_put_contents('simplefile.txt', $textData);
[$this->ownerStorage,] = $this->view->resolvePath('');
$this->ownerCache = $this->ownerStorage->getCache();
@@ -302,6 +303,42 @@ class CacheTest extends TestCase {
);
}
+ /**
+ * This covers a bug where the share owners name was propagated
+ * to the recipient in the recent files API response where the
+ * share recipient has a different target set
+ *
+ * https://github.com/nextcloud/server/issues/39879
+ */
+ public function testShareRenameOriginalFileInRecentResults() {
+ self::loginHelper(self::TEST_FILES_SHARING_API_USER1);
+
+ $rootFolder = \OC::$server->getUserFolder(self::TEST_FILES_SHARING_API_USER1);
+ $node = $rootFolder->get('simplefile.txt');
+ $share = $this->shareManager->newShare();
+ $share->setNode($node)
+ ->setShareType(IShare::TYPE_USER)
+ ->setSharedWith(self::TEST_FILES_SHARING_API_USER3)
+ ->setSharedBy(self::TEST_FILES_SHARING_API_USER1)
+ ->setPermissions(\OCP\Constants::PERMISSION_READ);
+ $share = $this->shareManager->createShare($share);
+ $share->setStatus(IShare::STATUS_ACCEPTED);
+ $this->shareManager->updateShare($share);
+
+ self::loginHelper(self::TEST_FILES_SHARING_API_USER1);
+ $node->move(self::TEST_FILES_SHARING_API_USER1 . '/files/simplefile2.txt');
+
+ self::loginHelper(self::TEST_FILES_SHARING_API_USER3);
+ $rootFolder = \OC::$server->getUserFolder(self::TEST_FILES_SHARING_API_USER3);
+ $recents = $rootFolder->getRecent(10);
+ self::assertEquals([
+ 'welcome.txt',
+ 'simplefile.txt'
+ ], array_map(function($node) {
+ return $node->getFileInfo()['name'];
+ }, $recents));
+ }
+
public function testGetFolderContentsWhenSubSubdirShared() {
self::loginHelper(self::TEST_FILES_SHARING_API_USER1);