EventPublisherApplicationAdapter implements Application { @Override public void fromApp(Message message, SessionID sessionId) { publishEvent(FromApp.of(message, 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 shouldPublishFromAppMessage() throws Exception { Message message = mock(Message.class); SessionID sessionId = mock(SessionID.class); clientApplication.fromApp(message, sessionId); await().atMost(FIVE_SECONDS).until(() -> receivedEvents.size() > 0); assertThat(receivedEvents.get(0)).isInstanceOf(FromApp.class); assertThat(((FromApp) receivedEvents.get(0)).getMessage()).isEqualTo(message); assertThat(((FromApp) receivedEvents.get(0)).getSessionId()).isEqualTo(sessionId); }