diff options
author | Sami Vänttinen <sami.vanttinen@protonmail.com> | 2019-05-02 01:35:08 +0300 |
---|---|---|
committer | Jonathan White <support@dmapps.us> | 2019-05-02 01:35:08 +0300 |
commit | e4eee897f9fb931d8081f9b70da0b0f1e6a8b9b8 (patch) | |
tree | c2aef8b8b3170903beccfa2617466d150ba36436 /tests/TestKdbx4.cpp | |
parent | 01a3d5b0ba0047b3179f44dd5caba74055228219 (diff) |
Support Database Custom Data Merging (#3002)
* Introduce _LAST_MODIFIED custom data entry that stores the last modified datetime of the database's custom data entries
* Merge custom data from source database to target
* Modify tests to be aware of _LAST_MODIFIED entry
Diffstat (limited to 'tests/TestKdbx4.cpp')
-rw-r--r-- | tests/TestKdbx4.cpp | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/tests/TestKdbx4.cpp b/tests/TestKdbx4.cpp index fe4679da5..88352d825 100644 --- a/tests/TestKdbx4.cpp +++ b/tests/TestKdbx4.cpp @@ -186,8 +186,10 @@ void TestKdbx4::testFormat400Upgrade() QCOMPARE(reader.version(), expectedVersion); QCOMPARE(targetDb->cipher(), cipherUuid); - QCOMPARE(*targetDb->metadata()->customData(), *sourceDb->metadata()->customData()); - QCOMPARE(*targetDb->rootGroup()->customData(), *sourceDb->rootGroup()->customData()); + QCOMPARE(targetDb->metadata()->customData()->value("CustomPublicData"), + sourceDb->metadata()->customData()->value("CustomPublicData")); + QCOMPARE(targetDb->rootGroup()->customData()->value("CustomGroupData"), + sourceDb->rootGroup()->customData()->value("CustomGroupData")); } // clang-format off @@ -346,20 +348,22 @@ void TestKdbx4::testCustomData() const QString customDataKey2 = "CD2"; const QString customData1 = "abcäöü"; const QString customData2 = "Hello World"; - const int dataSize = customDataKey1.toUtf8().size() + customDataKey1.toUtf8().size() + customData1.toUtf8().size() - + customData2.toUtf8().size(); // test custom database data db.metadata()->customData()->set(customDataKey1, customData1); db.metadata()->customData()->set(customDataKey2, customData2); - QCOMPARE(db.metadata()->customData()->size(), 2); + auto lastModified = db.metadata()->customData()->value(CustomData::LastModified); + const int dataSize = customDataKey1.toUtf8().size() + customDataKey1.toUtf8().size() + customData1.toUtf8().size() + + customData2.toUtf8().size() + lastModified.toUtf8().size() + + CustomData::LastModified.toUtf8().size(); + QCOMPARE(db.metadata()->customData()->size(), 3); QCOMPARE(db.metadata()->customData()->dataSize(), dataSize); // test custom root group data Group* root = db.rootGroup(); root->customData()->set(customDataKey1, customData1); root->customData()->set(customDataKey2, customData2); - QCOMPARE(root->customData()->size(), 2); + QCOMPARE(root->customData()->size(), 3); QCOMPARE(root->customData()->dataSize(), dataSize); // test copied custom group data @@ -378,9 +382,9 @@ void TestKdbx4::testCustomData() // test custom data deletion entry->customData()->set("additional item", "foobar"); - QCOMPARE(entry->customData()->size(), 3); + QCOMPARE(entry->customData()->size(), 4); entry->customData()->remove("additional item"); - QCOMPARE(entry->customData()->size(), 2); + QCOMPARE(entry->customData()->size(), 3); QCOMPARE(entry->customData()->dataSize(), dataSize); // test custom data on cloned groups |