Skip to content

Commit

Permalink
automated test: allow rename of the child items of a mount point
Browse files Browse the repository at this point in the history
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
  • Loading branch information
mgallien committed Jun 25, 2024
1 parent 46a270a commit 816e29a
Showing 1 changed file with 38 additions and 0 deletions.
38 changes: 38 additions & 0 deletions test/testsyncmove.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1176,6 +1176,44 @@ private slots:
QCOMPARE(counter.nMOVE, 0);
QCOMPARE(counter.nMKCOL, 5);
}

void testAllowRenameChildFolderFromGroupFolder()
{
FakeFolder fakeFolder{{}};
fakeFolder.syncEngine().account()->setServerVersion("29.0.2.0");

fakeFolder.remoteModifier().mkdir("FolA");
auto groupFolderRoot = fakeFolder.remoteModifier().find("FolA");
groupFolderRoot->extraDavProperties = "<nc:is-mount-root>true</nc:is-mount-root>";
setAllPerm(groupFolderRoot, RemotePermissions::fromServerString("WDNVCKRM"));
fakeFolder.remoteModifier().mkdir("FolA/FolB");
fakeFolder.remoteModifier().mkdir("FolA/FolB/FolC");
fakeFolder.remoteModifier().mkdir("FolA/FolB/FolC/FolD");
fakeFolder.remoteModifier().mkdir("FolA/FolB/FolC/FolD/FolE");
fakeFolder.remoteModifier().insert("FolA/FileA.txt");
fakeFolder.remoteModifier().insert("FolA/FolB/FileB.txt");
fakeFolder.remoteModifier().insert("FolA/FolB/FolC/FileC.txt");
fakeFolder.remoteModifier().insert("FolA/FolB/FolC/FolD/FileD.txt");
fakeFolder.remoteModifier().insert("FolA/FolB/FolC/FolD/FolE/FileE.txt");
QVERIFY(fakeFolder.syncOnce());

OperationCounter counter;
fakeFolder.setServerOverride(counter.functor());

fakeFolder.localModifier().insert("FolA/FileA2.txt");
fakeFolder.localModifier().insert("FolA/FolB/FileB2.txt");
fakeFolder.localModifier().insert("FolA/FolB/FolC/FileC2.txt");
fakeFolder.localModifier().insert("FolA/FolB/FolC/FolD/FileD2.txt");
fakeFolder.localModifier().insert("FolA/FolB/FolC/FolD/FolE/FileE2.txt");
fakeFolder.localModifier().rename("FolA/FolB", "FolA/FolB_Renamed");
fakeFolder.localModifier().rename("FolA/FileA.txt", "FolA/FileA_Renamed.txt");
QVERIFY(fakeFolder.syncOnce());
QCOMPARE(counter.nDELETE, 0);
QCOMPARE(counter.nGET, 0);
QCOMPARE(counter.nPUT, 5);
QCOMPARE(counter.nMOVE, 2);
QCOMPARE(counter.nMKCOL, 0);
}
};

QTEST_GUILESS_MAIN(TestSyncMove)
Expand Down

0 comments on commit 816e29a

Please sign in to comment.