/** 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 of doInBackground method, of class ISPController with non-valid URL. */
  @Test
  public void testDoInBackground2() {
    System.out.println("testDoInBackground2");

    List<String> hosts = new ArrayList();
    hosts.add("willnotconnect.com");

    instance.doInBackground(hosts);
    sleepMillis(1_500);
    assertTrue(instance.getSessionData().failedChecks > 0);
  }
  /** Test of doInBackground method, of class ISPController with valid URL. */
  @Test
  public void testDoInBackground1() {
    System.out.println("testDoInBackground1");

    List<String> hosts = new ArrayList();
    hosts.add("uva.nl");

    instance.doInBackground(hosts);
    sleepMillis(1_500);
    assertTrue(instance.getSessionData().successfulChecks > 0);
  }