diff --git a/mailbox-core/src/test/java/org/briarproject/mailbox/core/db/JdbcDatabaseTest.kt b/mailbox-core/src/test/java/org/briarproject/mailbox/core/db/JdbcDatabaseTest.kt index 25e3aac1453214650d875911701b36d384168e63..279d77f645c61916f99cb55435af914994fd9031 100644 --- a/mailbox-core/src/test/java/org/briarproject/mailbox/core/db/JdbcDatabaseTest.kt +++ b/mailbox-core/src/test/java/org/briarproject/mailbox/core/db/JdbcDatabaseTest.kt @@ -2,6 +2,7 @@ package org.briarproject.mailbox.core.db import org.briarproject.mailbox.core.TestUtils.deleteTestDirectory import org.briarproject.mailbox.core.api.Contact +import org.briarproject.mailbox.core.settings.Settings import org.briarproject.mailbox.core.system.Clock import org.junit.jupiter.api.Test import org.junit.jupiter.api.io.TempDir @@ -85,4 +86,31 @@ abstract class JdbcDatabaseTest { db.close() } + @Test + @Throws(java.lang.Exception::class) + open fun testMergeSettings() { + val before = Settings() + before["foo"] = "bar" + before["baz"] = "bam" + val update = Settings() + update["baz"] = "qux" + val merged = Settings() + merged["foo"] = "bar" + merged["baz"] = "qux" + + var db: Database = open(false) + var txn = db.startTransaction() + + // store 'before' + db.mergeSettings(txn, before, "namespace") + assertEquals(before, db.getSettings(txn, "namespace")) + + // merge 'update' + db.mergeSettings(txn, update, "namespace") + assertEquals(merged, db.getSettings(txn, "namespace")) + + db.commitTransaction(txn) + db.close() + } + }