✨ Add debug flags to Core
authorDavid ‘Bombe’ Roden <bombe@pterodactylus.net>
Thu, 11 Jul 2019 14:06:29 +0000 (16:06 +0200)
committerDavid ‘Bombe’ Roden <bombe@pterodactylus.net>
Thu, 11 Jul 2019 14:06:29 +0000 (16:06 +0200)
src/main/kotlin/net/pterodactylus/sone/main/SoneModule.kt
src/test/kotlin/net/pterodactylus/sone/main/SoneModuleTest.kt

index 18f4b95..07ec56e 100644 (file)
@@ -7,6 +7,7 @@ import com.google.inject.matcher.*
 import com.google.inject.name.Names.*
 import com.google.inject.spi.*
 import freenet.l10n.*
+import net.pterodactylus.sone.core.*
 import net.pterodactylus.sone.database.*
 import net.pterodactylus.sone.database.memory.*
 import net.pterodactylus.sone.freenet.wot.*
@@ -60,6 +61,12 @@ class SoneModule(private val sonePlugin: SonePlugin) : AbstractModule() {
                })
        }
 
+       @Provides
+       fun getCore(configuration: Configuration, freenetInterface: FreenetInterface, identityManager: IdentityManager, soneDownloader: SoneDownloader, imageInserter: ImageInserter, updateChecker: UpdateChecker, webOfTrustUpdater: WebOfTrustUpdater, eventBus: EventBus, database: Database) =
+                       Core(configuration, freenetInterface, identityManager, soneDownloader, imageInserter, updateChecker, webOfTrustUpdater, eventBus, database).apply {
+                               debugInformation.showVersionInformation = configuration.getBooleanValue("Debug/ShowVersionInformation").getValue(false)
+                       }
+
 }
 
 private fun String.parseVersion(): Version = Version.parse(this)
index 0b8ef04..dd7923d 100644 (file)
@@ -5,6 +5,9 @@ import com.google.common.eventbus.*
 import com.google.inject.Guice.*
 import com.google.inject.name.Names.*
 import freenet.l10n.*
+import freenet.node.*
+import freenet.pluginmanager.*
+import net.pterodactylus.sone.core.*
 import net.pterodactylus.sone.database.*
 import net.pterodactylus.sone.database.memory.*
 import net.pterodactylus.sone.freenet.wot.*
@@ -33,7 +36,11 @@ class SoneModuleTest {
                whenever(l10n()).thenReturn(l10n)
        }
 
-       private val injector by lazy { createInjector(SoneModule(sonePlugin)) }
+       private val injector by lazy { createInjector(
+                       SoneModule(sonePlugin),
+                       FreenetInterface::class.isProvidedByDeepMock(),
+                       PluginRespirator::class.isProvidedByDeepMock()
+       ) }
 
        @AfterTest
        fun removePropertiesFromCurrentDirectory() {
@@ -92,6 +99,12 @@ class SoneModuleTest {
        }
 
        @Test
+       fun `debug information flag is read from config`() {
+               File(currentDir, "sone.properties").writeText("Debug/ShowVersionInformation=true")
+               assertThat(injector.getInstance<Core>().debugInformation.showVersionInformation, equalTo(true))
+       }
+
+       @Test
        fun `event bus is bound`() {
                assertThat(injector.getInstance<EventBus>(), notNullValue())
        }