/** Test if a record is registered when the controller is temporarily down. */ @Test public void testControllerDownRegistration() { System.out.println("testControllerDownRegistration"); List<String> hosts = new ArrayList(); hosts.add("uva.nl"); instance.doInBackground(hosts); sleepMillis(120); instance.stopTemporarily(); sleepMillis(1_500); assertFalse(instance.isBusyCheckingConnections()); instance.restart(hosts); sleepMillis(1_500); assertTrue( "The controller is NOT checking connections now", instance.isBusyCheckingConnections()); OutageListItem lastOutage = instance.getLastOutage(); assertTrue("No outages were registered", null != lastOutage); assertTrue( "The actual last outage is " + lastOutage, lastOutage.getOutageCause() == CONTROLLERDOWN); instance.exit(); sleepMillis(1_500); if (instance.getSessionData().saveData()) { LOGGER.info("Session data is saved at exiting the application."); } else { LOGGER.error("Session data is NOT saved at exiting the application."); } LOGGER.info("Load data"); instance.initWithPreviousSessionData(); assertTrue( "The actual last outage is " + lastOutage, lastOutage.getOutageCause() == CONTROLLERDOWN); }
/** Test if a record is registered when service is restarted. */ @Test public void testServiceInterruptedRegistration() { System.out.println("testServiceInterruptedRegistration"); List<String> hosts = new ArrayList(); hosts.add("uva.nl"); instance.doInBackground(hosts); sleepMillis(120); assertTrue( "The controller is NOT checking connections now", instance.isBusyCheckingConnections()); OutageListItem lastOutage = instance.getLastOutage(); LOGGER.info("Outage = {}", lastOutage); assertTrue("No outages were registered", null != lastOutage); assertTrue( "The actual last outage is " + lastOutage, lastOutage.getOutageCause() == SERVICEDOWN); }
/** * Test if a record is registered when the ISP can not be reached due to an internal network * failure and a false router address is entered. */ @Test public void testInternalInterruptedRegistrationWithFalseRouterAddress() { System.out.println("testInternalInterruptedRegistrationWithFalseRouterAddress"); List<String> hosts = new ArrayList(); hosts.add("uva.nl"); instance.setRouterAddress("false router address"); instance.doInBackground(hosts); sleepMillis(120); assertTrue( "The controller is NOT checking connections now", instance.isBusyCheckingConnections()); instance.simulateFailure(true); sleepMillis(6_000); instance.simulateFailure(false); sleepMillis(6_000); OutageListItem lastOutage = instance.getLastOutage(); LOGGER.info("Outage = {}", lastOutage); assertTrue("No outages were registered", null != lastOutage); assertTrue("The actual last outage is " + lastOutage, lastOutage.getOutageCause() == ISP); }