Properly reset fakefolder test state post-placeholder file delete in testsyncvirtualfiles
authorClaudio Cambra <claudio.cambra@nextcloud.com>
Wed, 26 Jun 2024 07:07:50 +0000 (15:07 +0800)
committerbackportbot[bot] <backportbot[bot]@users.noreply.github.com>
Fri, 28 Jun 2024 16:18:02 +0000 (16:18 +0000)
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
test/testsyncvirtualfiles.cpp

index 29f03c29a9769a26bdd8cbf10c98c2e26c4d5cb3..d4f32757260548c0df8d5cf58d4f4bd72d45d093 100644 (file)
@@ -174,7 +174,20 @@ private slots:
         QVERIFY(fakeFolder.syncOnce());
         QVERIFY(!fakeFolder.currentLocalState().find("A/a1"));
         QVERIFY(!fakeFolder.currentLocalState().find("A/a1" DVSUFFIX));
-        QVERIFY(!fakeFolder.currentRemoteState().find("A/a1"));
+        QVERIFY(!fakeFolder.remoteModifier().find("A/a1"));
+        cleanup();
+
+        // Restore the state prior to next test
+        // Essentially repeating creation of virtual file
+        fakeFolder.remoteModifier().insert("A/a1", 64);
+        fakeFolder.remoteModifier().setModTime("A/a1", someDate);
+        QVERIFY(fakeFolder.syncOnce());
+        QVERIFY(!fakeFolder.currentLocalState().find("A/a1"));
+        QVERIFY(fakeFolder.currentLocalState().find("A/a1" DVSUFFIX));
+        QCOMPARE(QFileInfo(fakeFolder.localPath() + "A/a1" DVSUFFIX).lastModified(), someDate);
+        QVERIFY(fakeFolder.currentRemoteState().find("A/a1"));
+        QVERIFY(itemInstruction(completeSpy, "A/a1" DVSUFFIX, CSYNC_INSTRUCTION_NEW));
+        QCOMPARE(dbRecord(fakeFolder, "A/a1" DVSUFFIX)._type, ItemTypeVirtualFile);
         cleanup();
 
         // Remote rename is propagated