mirror of
https://github.com/nextcloud/desktop.git
synced 2025-10-26 11:17:43 +00:00
Add test to detect file renames in external storage.
Signed-off-by: Camila Ayres <hello@camilasan.com>
This commit is contained in:
parent
591808f25e
commit
4afc033ee0
@ -320,6 +320,49 @@ private slots:
|
||||
QCOMPARE(printDbData(fakeFolder.dbState()), printDbData(remoteInfo));
|
||||
}
|
||||
|
||||
void testLocalExternalStorageRenameDetection()
|
||||
{
|
||||
FakeFolder fakeFolder { FileInfo { QString(), { FileInfo { QStringLiteral("external") } } }};
|
||||
|
||||
int nPUT = 0;
|
||||
int nDELETE = 0;
|
||||
fakeFolder.setServerOverride([&](QNetworkAccessManager::Operation op, const QNetworkRequest &, QIODevice *) {
|
||||
if (op == QNetworkAccessManager::PutOperation) {
|
||||
++nPUT;
|
||||
}
|
||||
|
||||
if (op == QNetworkAccessManager::DeleteOperation) {
|
||||
++nDELETE;
|
||||
}
|
||||
return nullptr;
|
||||
});
|
||||
|
||||
fakeFolder.remoteModifier().permissions.setPermission(OCC::RemotePermissions::IsMounted);
|
||||
fakeFolder.remoteModifier().permissions.setPermission(OCC::RemotePermissions::CanMove);
|
||||
fakeFolder.remoteModifier().permissions.setPermission(OCC::RemotePermissions::CanWrite);
|
||||
QVERIFY(fakeFolder.syncOnce());
|
||||
QCOMPARE(fakeFolder.currentLocalState(), fakeFolder.remoteModifier());
|
||||
|
||||
fakeFolder.localModifier().insert("external/file", 100);
|
||||
QVERIFY(fakeFolder.syncOnce());
|
||||
QCOMPARE(fakeFolder.currentLocalState(), fakeFolder.currentRemoteState());
|
||||
QCOMPARE(printDbData(fakeFolder.dbState()), printDbData(fakeFolder.remoteModifier()));
|
||||
QCOMPARE(nPUT, 1);
|
||||
|
||||
fakeFolder.localModifier().rename("external/file", "external/file2");
|
||||
fakeFolder.localModifier().rename("external/file2", "external/file3");
|
||||
QVERIFY(fakeFolder.syncOnce());
|
||||
QCOMPARE(fakeFolder.currentLocalState(), fakeFolder.currentRemoteState());
|
||||
QCOMPARE(printDbData(fakeFolder.dbState()), printDbData(fakeFolder.remoteModifier()));
|
||||
QCOMPARE(fakeFolder.remoteModifier().children.size(), 1);
|
||||
|
||||
QCOMPARE(fakeFolder.remoteModifier().children.size(), 1);
|
||||
QCOMPARE(fakeFolder.remoteModifier().children.value("external").children.size(), 1);
|
||||
QCOMPARE(fakeFolder.remoteModifier().children.value("external").children.value("file3").name, QStringLiteral("file3"));
|
||||
QCOMPARE(nPUT, 1);
|
||||
QCOMPARE(nDELETE, 0);
|
||||
}
|
||||
|
||||
void testDuplicateFileId_data()
|
||||
{
|
||||
QTest::addColumn<QString>("prefix");
|
||||
|
||||
Loading…
Reference in New Issue
Block a user