diff options
author | Matthieu Gallien <matthieu.gallien@nextcloud.com> | 2022-10-27 19:00:10 +0300 |
---|---|---|
committer | Matthieu Gallien <matthieu_gallien@yahoo.fr> | 2022-11-07 20:33:13 +0300 |
commit | 783cefe3f1efee67a99fc5048d5ce5bc3d284509 (patch) | |
tree | 3d59e1f7464523e33543d9a064a153c5da3a741f | |
parent | f8fc720fbb6aadce5e457567621d37eee26ab72b (diff) |
new autotest to ensure that we delete folders despite blacklist errors
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
-rw-r--r-- | test/testsyncmove.cpp | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/test/testsyncmove.cpp b/test/testsyncmove.cpp index f1488c818..c8f5ac2d6 100644 --- a/test/testsyncmove.cpp +++ b/test/testsyncmove.cpp @@ -890,6 +890,29 @@ private slots: QCOMPARE(fakeFolder.currentLocalState(), fakeFolder.currentRemoteState()); } + void testRenameParallelismWithBlacklist() + { + constexpr auto testFileName = "blackListFile"; + FakeFolder fakeFolder{ FileInfo{} }; + fakeFolder.remoteModifier().mkdir("A"); + fakeFolder.remoteModifier().insert("A/file"); + + QVERIFY(fakeFolder.syncOnce()); + QCOMPARE(fakeFolder.currentLocalState(), fakeFolder.currentRemoteState()); + + fakeFolder.remoteModifier().insert(testFileName); + fakeFolder.serverErrorPaths().append(testFileName, 500); // will be blacklisted + QVERIFY(!fakeFolder.syncOnce()); + + fakeFolder.remoteModifier().mkdir("B"); + fakeFolder.remoteModifier().rename("A/file", "B/file"); + fakeFolder.remoteModifier().remove("A"); + + QVERIFY(!fakeFolder.syncOnce()); + auto folderA = fakeFolder.currentLocalState().find("A"); + QCOMPARE(folderA, nullptr); + } + void testMovedWithError_data() { QTest::addColumn<Vfs::Mode>("vfsMode"); |