From 57d36af80c40edb8e7b558ebb56a35d914b5e692 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Sebastian=20K=C3=BCrten?= <sebastian@mobanisto.de>
Date: Wed, 29 Sep 2021 12:07:01 +0200
Subject: [PATCH] Add database test with settings

---
 .../mailbox/core/db/JdbcDatabaseTest.kt       | 28 +++++++++++++++++++
 1 file changed, 28 insertions(+)

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 25e3aac1..279d77f6 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()
+    }
+
 }
-- 
GitLab