Просмотр исходного кода

Check local file locked and unlocked correctly in testlocaldiscovery

Signed-off-by: Claudio Cambra <claudio.cambra@gmail.com>
Claudio Cambra 3 лет назад
Родитель
Сommit
ff5261eaf1
1 измененных файлов с 24 добавлено и 8 удалено
  1. 24 8
      test/testlocaldiscovery.cpp

+ 24 - 8
test/testlocaldiscovery.cpp

@@ -620,14 +620,16 @@ private slots:
         const QString barFileAaaSubFolder("aaa/subfolder/bar");
 
         fakeFolder.remoteModifier().insert(fooFileRootFolder);
-
         fakeFolder.remoteModifier().insert(barFileRootFolder);
-        fakeFolder.remoteModifier().find("bar")->extraDavProperties = "<nc:lock>1</nc:lock>"
-                                                                      "<nc:lock-owner-type>0</nc:lock-owner-type>"
-                                                                      "<nc:lock-owner>user1</nc:lock-owner>"
-                                                                      "<nc:lock-owner-displayname>user1</nc:lock-owner-displayname>"
-                                                                      "<nc:lock-owner-editor>user1</nc:lock-owner-editor>"
-                                                                      "<nc:lock-time>1648046707</nc:lock-time>";
+
+        const auto lockedFileDavProps = QByteArray("<nc:lock>1</nc:lock>"
+                                                   "<nc:lock-owner-type>0</nc:lock-owner-type>"
+                                                   "<nc:lock-owner>user1</nc:lock-owner>"
+                                                   "<nc:lock-owner-displayname>user1</nc:lock-owner-displayname>"
+                                                   "<nc:lock-owner-editor>user1</nc:lock-owner-editor>"
+                                                   "<nc:lock-time>1648046707</nc:lock-time>");
+
+        fakeFolder.remoteModifier().find("bar")->extraDavProperties = lockedFileDavProps;
 
         fakeFolder.remoteModifier().mkdir(QStringLiteral("subfolder"));
         fakeFolder.remoteModifier().insert(fooFileSubFolder);
@@ -637,12 +639,26 @@ private slots:
         fakeFolder.remoteModifier().insert(fooFileAaaSubFolder);
         fakeFolder.remoteModifier().insert(barFileAaaSubFolder);
 
+        ItemCompletedSpy completeSpy(fakeFolder);
+
+        completeSpy.clear();
         QVERIFY(fakeFolder.syncOnce());
+        QCOMPARE(completeSpy.findItem("bar")->_locked, OCC::SyncFileItem::LockStatus::LockedItem);
+        SyncJournalFileRecord fileRecordBefore;
+        QVERIFY(fakeFolder.syncJournal().getFileRecord(QStringLiteral("bar"), &fileRecordBefore));
+        QVERIFY(fileRecordBefore._lockstate._locked);
 
-        fakeFolder.remoteModifier().find("bar")->extraDavProperties = "<nc:lock>0</nc:lock>";
+        const auto unlockedFileDavProps = QByteArray("<nc:lock>0</nc:lock>");
+        fakeFolder.remoteModifier().find("bar")->extraDavProperties = unlockedFileDavProps;
 
         fakeFolder.syncEngine().setLocalDiscoveryOptions(LocalDiscoveryStyle::DatabaseAndFilesystem);
+
+        completeSpy.clear();
         QVERIFY(fakeFolder.syncOnce());
+        QCOMPARE(completeSpy.findItem("bar")->_locked, OCC::SyncFileItem::LockStatus::UnlockedItem);
+        SyncJournalFileRecord fileRecordAfter;
+        QVERIFY(fakeFolder.syncJournal().getFileRecord(QStringLiteral("bar"), &fileRecordAfter));
+        QVERIFY(!fileRecordAfter._lockstate._locked);
     }
 };