void internalClose() { closeAll(poller, () -> scheduler.close(libraryId()), super::close, this::deleteFiles); }
void becomeOnlyLibraryConnectedTo(final FixEngine engine) { final int ourLibraryId = library.libraryId(); assertEventuallyTrue( () -> ourLibraryId + " has failed to become the only library: " + libraries(engine), () -> { poll(); final List<LibraryInfo> libraries = libraries(engine); return libraries.size() == 2 && libraryInfoById(libraries, ourLibraryId).isPresent(); }, 5000, () -> {}); }
@Test public void engineDetectsLibraryConnect() { library = connectLibrary(); assertEventuallyHasLibraries( FixMatchers.matchesLibrary(library.libraryId()), FixMatchers.matchesLibrary(ENGINE_LIBRARY_ID)); }
@Test public void sessionsListedInAdminApi() { final List<LibraryInfo> libraries = libraries(initiatingEngine); assertThat(libraries, hasSize(2)); final LibraryInfo library = libraries.get(0); assertEquals(initiatingLibrary.libraryId(), library.libraryId()); final List<SessionInfo> sessions = library.sessions(); assertThat(sessions, hasSize(1)); final SessionInfo sessionInfo = sessions.get(0); assertThat(sessionInfo.address(), containsString("localhost")); assertThat(sessionInfo.address(), containsString(String.valueOf(port))); assertEquals(initiatingSession.connectionId(), sessionInfo.connectionId()); assertEquals(initiatingSession.connectedPort(), port); assertEquals(initiatingSession.connectedHost(), "localhost"); final LibraryInfo gatewayLibraryInfo = libraries.get(1); assertEquals(ENGINE_LIBRARY_ID, gatewayLibraryInfo.libraryId()); assertThat(gatewayLibraryInfo.sessions(), hasSize(0)); }
private FixLibrary setupTwoLibrariesAndCloseTheFirst() { setupTwoLibraries(); testSystem.close(library); assertLibrariesDisconnect(1, engine); assertEventuallyHasLibraries( FixMatchers.matchesLibrary(library2.libraryId()), FixMatchers.matchesLibrary(ENGINE_LIBRARY_ID)); return library2; }
@Test public void shouldReconnectToBouncedGatewayWithoutTimeout() { acquireAcceptingSession(); messagesCanBeExchanged(); assertTrue("Session not active", acceptingSession.isActive()); acceptingEngine.close(); launchAcceptingEngine(); // Hasn't initially detected the library that was previously connected. assertThat(SystemTestUtil.libraries(acceptingEngine), hasSize(1)); assertEventuallyTrue( "Session never disconnects", () -> { testSystem.poll(); return !acceptingSession.isActive(); }); SystemTestUtil.assertEventuallyHasLibraries( testSystem, acceptingEngine, matchesLibrary(acceptingLibrary.libraryId()), matchesLibrary(ENGINE_LIBRARY_ID)); connectSessions(); messagesCanBeExchanged(); }