🐛 Remove useless double plugin start in test
[Sone.git] / src / test / kotlin / net / pterodactylus / sone / main / SonePluginTest.kt
index 5795285..c3f1cd7 100644 (file)
@@ -115,7 +115,6 @@ class SonePluginTest {
                        val eventBus = it.getInstance(EventBus::class.java)
                        eventBus.register(FirstStartListener(firstStartReceived))
                }
-               sonePlugin.runPlugin(pluginRespirator)
                assertThat(firstStartReceived.get(), equalTo(true))
        }
 
@@ -128,7 +127,6 @@ class SonePluginTest {
                                val eventBus = it.getInstance(EventBus::class.java)
                                eventBus.register(FirstStartListener(firstStartReceived))
                        }
-                       sonePlugin.runPlugin(pluginRespirator)
                        assertThat(firstStartReceived.get(), equalTo(false))
                }
        }
@@ -149,7 +147,6 @@ class SonePluginTest {
                                val eventBus = it.getInstance(EventBus::class.java)
                                eventBus.register(ConfigNotReadListener(configNotReadReceived))
                        }
-                       sonePlugin.runPlugin(pluginRespirator)
                        assertThat(configNotReadReceived.get(), equalTo(true))
                }
        }
@@ -162,7 +159,6 @@ class SonePluginTest {
                        val eventBus = it.getInstance(EventBus::class.java)
                        eventBus.register(ConfigNotReadListener(configNotReadReceived))
                }
-               sonePlugin.runPlugin(pluginRespirator)
                assertThat(configNotReadReceived.get(), equalTo(false))
        }
 
@@ -175,11 +171,27 @@ class SonePluginTest {
                                val eventBus = it.getInstance(EventBus::class.java)
                                eventBus.register(ConfigNotReadListener(configNotReadReceived))
                        }
-                       sonePlugin.runPlugin(pluginRespirator)
                        assertThat(configNotReadReceived.get(), equalTo(false))
                }
        }
 
+       private class StartupListener(private val startupReceived: () -> Unit) {
+               @Subscribe
+               fun startup(startup: Startup) {
+                       startupReceived()
+               }
+       }
+
+       @Test
+       fun `startup event is sent to event bus`() {
+               val startupReceived = AtomicBoolean()
+               runSonePluginWithRealInjector {
+                       val eventBus = it.getInstance(EventBus::class.java)
+                       eventBus.register(StartupListener { startupReceived.set(true) })
+               }
+               assertThat(startupReceived.get(), equalTo(true))
+       }
+
        private fun <T> getInjected(clazz: Class<T>, annotation: Annotation? = null): T? =
                        injected[TypeLiteral.get(clazz) to annotation] as? T