Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/owncloud/client.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorOlivier Goffart <ogoffart@woboq.com>2020-03-25 13:37:03 +0300
committerOlivier Goffart <olivier@woboq.com>2020-03-26 11:10:34 +0300
commit242e4e1d702ca8a74ffeb6e266c5dd8f7088e46c (patch)
tree8671f4f172b518542597b1477af9b9b7fcd50287 /test
parent6a424685130d4ffb1d2c96512932506d60e830ae (diff)
SocketAPI: fix status after a failure to move
Issue #7759
Diffstat (limited to 'test')
-rw-r--r--test/testsyncfilestatustracker.cpp44
1 files changed, 44 insertions, 0 deletions
diff --git a/test/testsyncfilestatustracker.cpp b/test/testsyncfilestatustracker.cpp
index 29143be6b..f1b27447c 100644
--- a/test/testsyncfilestatustracker.cpp
+++ b/test/testsyncfilestatustracker.cpp
@@ -465,6 +465,50 @@ private slots:
QCOMPARE(fakeFolder.currentLocalState(), fakeFolder.currentRemoteState());
}
+
+ void renameError() {
+ FakeFolder fakeFolder{FileInfo::A12_B12_C12_S12()};
+ fakeFolder.serverErrorPaths().append("A/a1");
+ fakeFolder.localModifier().rename("A/a1", "A/a1m");
+ fakeFolder.localModifier().rename("B/b1", "B/b1m");
+ StatusPushSpy statusSpy(fakeFolder.syncEngine());
+
+ fakeFolder.scheduleSync();
+ fakeFolder.execUntilBeforePropagation();
+
+ verifyThatPushMatchesPull(fakeFolder, statusSpy);
+
+ QCOMPARE(statusSpy.statusOf("A/a1m"), SyncFileStatus(SyncFileStatus::StatusSync));
+ QCOMPARE(statusSpy.statusOf("A/a1"), statusSpy.statusOf("A/a1notexist"));
+ QCOMPARE(statusSpy.statusOf("A"), SyncFileStatus(SyncFileStatus::StatusSync));
+ QCOMPARE(statusSpy.statusOf(""), SyncFileStatus(SyncFileStatus::StatusSync));
+ QCOMPARE(statusSpy.statusOf("B"), SyncFileStatus(SyncFileStatus::StatusSync));
+ QCOMPARE(statusSpy.statusOf("B/b1m"), SyncFileStatus(SyncFileStatus::StatusSync));
+
+ fakeFolder.execUntilFinished();
+ verifyThatPushMatchesPull(fakeFolder, statusSpy);
+ QCOMPARE(statusSpy.statusOf("A/a1m"), SyncFileStatus(SyncFileStatus::StatusError));
+ QCOMPARE(statusSpy.statusOf("A/a1"), statusSpy.statusOf("A/a1notexist"));
+ QCOMPARE(statusSpy.statusOf("A"), SyncFileStatus(SyncFileStatus::StatusWarning));
+ QCOMPARE(statusSpy.statusOf(""), SyncFileStatus(SyncFileStatus::StatusWarning));
+ QCOMPARE(statusSpy.statusOf("B"), SyncFileStatus(SyncFileStatus::StatusUpToDate));
+ QCOMPARE(statusSpy.statusOf("B/b1m"), SyncFileStatus(SyncFileStatus::StatusUpToDate));
+ statusSpy.clear();
+
+ QVERIFY(!fakeFolder.syncOnce());
+ verifyThatPushMatchesPull(fakeFolder, statusSpy);
+ statusSpy.clear();
+ QVERIFY(!fakeFolder.syncOnce());
+ verifyThatPushMatchesPull(fakeFolder, statusSpy);
+ QCOMPARE(statusSpy.statusOf("A/a1m"), SyncFileStatus(SyncFileStatus::StatusError));
+ QCOMPARE(statusSpy.statusOf("A/a1"), statusSpy.statusOf("A/a1notexist"));
+ QCOMPARE(statusSpy.statusOf("A"), SyncFileStatus(SyncFileStatus::StatusWarning));
+ QCOMPARE(statusSpy.statusOf(""), SyncFileStatus(SyncFileStatus::StatusWarning));
+ QCOMPARE(statusSpy.statusOf("B"), SyncFileStatus(SyncFileStatus::StatusNone));
+ QCOMPARE(statusSpy.statusOf("B/b1m"), SyncFileStatus(SyncFileStatus::StatusNone));
+ statusSpy.clear();
+ }
+
};
QTEST_GUILESS_MAIN(TestSyncFileStatusTracker)