EventPublisherApplicationAdapter implements Application { @Override public void onCreate(SessionID sessionId) { publishEvent(Create.of(sessionId)); } EventPublisherApplicationAdapter(ApplicationEventPublisher applicationEventPublisher); @Override void fromAdmin(Message message, SessionID sessionId); @Override void fromApp(Message message, SessionID sessionId); @Override void onCreate(SessionID sessionId); @Override void onLogon(SessionID sessionId); @Override void onLogout(SessionID sessionId); @Override void toAdmin(Message message, SessionID sessionId); @Override void toApp(Message message, SessionID sessionId);  }
@Test public void shouldPublishCreateMessage() { SessionID sessionId = mock(SessionID.class); clientApplication.onCreate(sessionId); await().atMost(FIVE_SECONDS).until(() -> receivedEvents.size() > 0); assertThat(receivedEvents.get(0)).isInstanceOf(Create.class); assertThat(((Create) receivedEvents.get(0)).getSessionId()).isEqualTo(sessionId); }