From 49eb431da0beff5bf844b150768de5f66452edb4 Mon Sep 17 00:00:00 2001 From: nathan Date: Fri, 25 Sep 2020 19:53:41 +0200 Subject: [PATCH] Added test for when the Settings Store is shared --- test/dorkboxTest/network/StorageTest.kt | 35 +++++++++++++++++++++++-- 1 file changed, 33 insertions(+), 2 deletions(-) diff --git a/test/dorkboxTest/network/StorageTest.kt b/test/dorkboxTest/network/StorageTest.kt index 047fe335..f9522671 100644 --- a/test/dorkboxTest/network/StorageTest.kt +++ b/test/dorkboxTest/network/StorageTest.kt @@ -15,22 +15,53 @@ */ package dorkboxTest.network +import dorkbox.network.Client import dorkbox.network.Server import dorkbox.network.connection.Connection +import dorkbox.network.storage.SettingsStore import dorkbox.network.storage.types.ChronicleMapStore import dorkbox.network.storage.types.LmdbStore import dorkbox.network.storage.types.MemoryStore import dorkbox.network.storage.types.PropertyStore +import kotlinx.coroutines.runBlocking +import mu.KLogger import org.junit.Assert import org.junit.Test import java.io.File class StorageTest : BaseTest() { + @Test + fun sharedStoreTest() { + // we want the server + client to have the SAME info + val store = MemoryStore.type().create() + + val server = object : Server(serverConfig()) { + override fun createSettingsStore(logger: KLogger): SettingsStore { + return store + } + } + + val client = object: Client(clientConfig()) { + override fun createSettingsStore(logger: KLogger): SettingsStore { + return store + } + } + + server.bind() + + runBlocking { + client.connect("localhost") + server.close() + } + } + + @Test fun memoryTest() { val salt1 = MemoryStore.type().create().use { it.getSalt() } - val salt2 = Server(serverConfig()).use { it.settingsStore.getSalt() } - val salt3 = Server(serverConfig()).use { it.settingsStore.getSalt() } + + val salt2 = Server(serverConfig().apply { settingsStore = MemoryStore.type() }).use { it.settingsStore.getSalt() } + val salt3 = Server(serverConfig().apply { settingsStore = MemoryStore.type() }).use { it.settingsStore.getSalt() } Assert.assertFalse(salt1.contentEquals(salt2)) Assert.assertFalse(salt1.contentEquals(salt3))