added modules, classloading and view packages to sonia.scm.lifecycle

This commit is contained in:
Sebastian Sdorra
2019-06-25 09:49:52 +02:00
parent 6efa6ff29f
commit 80febf9424
47 changed files with 105 additions and 107 deletions

View File

@@ -0,0 +1,35 @@
package sonia.scm.lifecycle.modules;
import com.github.legman.Subscribe;
import com.google.inject.Guice;
import com.google.inject.Injector;
import org.junit.jupiter.api.Test;
import sonia.scm.event.LegmanScmEventBus;
import static org.assertj.core.api.Assertions.assertThat;
class ScmEventBusModuleTest {
@Test
void shouldRegisterInstance() {
LegmanScmEventBus eventBus = new LegmanScmEventBus();
Injector injector = Guice.createInjector(new ScmEventBusModule(eventBus));
Listener listener = injector.getInstance(Listener.class);
eventBus.post("hello");
assertThat(listener.message).isEqualTo("hello");
}
public static class Listener {
private String message;
@Subscribe(async = false)
public void receive(String message) {
this.message = message;
}
}
}