@Test
  public void testInitDNodeList() throws Throwable {
    SploutConfiguration config = SploutConfiguration.getTestConfig();
    QNodeHandler handler = new QNodeHandler();
    try {
      HazelcastInstance hz = Hazelcast.newHazelcastInstance(HazelcastConfigBuilder.build(config));
      CoordinationStructures coord = new CoordinationStructures(hz);

      SploutConfiguration dNodeConfig = SploutConfiguration.getTestConfig();
      dNodeConfig.setProperty(DNodeProperties.PORT, 1000);

      coord.getDNodes().put("/localhost:1000", new DNodeInfo(dNodeConfig));

      dNodeConfig = SploutConfiguration.getTestConfig();
      dNodeConfig.setProperty(DNodeProperties.PORT, 1001);

      coord.getDNodes().put("/localhost:1001", new DNodeInfo(dNodeConfig));

      try {
        handler.init(config);
      } catch (Exception e) {
        // since the handler will try to connect to "localhost:1000" we skip the Exception and
        // continue
        // the things we want to assert should be present anyway.
      }
      Assert.assertEquals(
          handler.getContext().getCoordinationStructures().getDNodes().values().size(), 2);
    } finally {
      handler.close();
      Hazelcast.shutdownAll();
    }
  }
  /** Gets only the default values and adds some desirable properties for testing, */
  public static SploutConfiguration getTestConfig() {
    SploutConfiguration properties = new SploutConfiguration();
    PropertiesConfiguration config = load("", SPLOUT_PROPERTIES + ".default", true);
    properties.addConfiguration(config);

    // Activate replica balancing for tests
    properties.setProperty(QNodeProperties.REPLICA_BALANCE_ENABLE, true);

    // Disable wait for testing speedup.
    properties.setProperty(HazelcastProperties.DISABLE_WAIT_WHEN_JOINING, true);

    // Disable warming up - set it to only one second
    // that's enough since Hazelcast joining is by far slower
    properties.setProperty(QNodeProperties.WARMING_TIME, 1);

    // Disable HZ state storage
    properties.clearProperty(HazelcastProperties.HZ_PERSISTENCE_FOLDER);
    return properties;
  }