@Test(expected = RuntimeException.class) public void testBadConfig() { Config config = ConfigFactory.load().getConfig("xio.testApplication.settings"); Config override = ConfigFactory.parseString("zookeeper { client { retry { policy = BadPolicy } } }"); ZooKeeperClientFactory factory = new ZooKeeperClientFactory(override.withFallback(config).getConfig("zookeeper")); factory.newClient(); } }
public static Configurator build(Config config) { Config configurationUpdateServer = config.getConfig("configurationUpdateServer"); if (configurationUpdateServer.getBoolean("enabled") == false) { return new NullConfigurator(); } CuratorFramework client = new ZooKeeperClientFactory(config.getConfig("zookeeper")).newClient(); client.start(); ZooKeeperWriteProvider zkWriter = new ZooKeeperWriteProvider(new ThriftMarshaller(), client); ZooKeeperReadProvider zkReader = new ZooKeeperReadProvider(new ThriftUnmarshaller(), client); Config configurationManager = config.getConfig("configurationManager"); Ruleset rules = new Ruleset(configurationManager); rules.read(zkReader); ZooKeeperUpdateHandler zkUpdater = new ZooKeeperUpdateHandler(zkWriter, rules); ZooKeeperValidator zkValidator = new ZooKeeperValidator(zkReader, rules, configurationManager); Duration writeInterval = configurationUpdateServer.getDuration("writeInterval"); InetSocketAddress serverAddress = new InetSocketAddress( configurationUpdateServer.getString("bindIp"), configurationUpdateServer.getInt("bindPort")); Configurator server = new Configurator(zkUpdater, writeInterval, serverAddress, rules, zkValidator); return server; } }
@Test public void testConfigs() { Config config = ConfigFactory.load().getConfig("xio.testApplication.settings"); for (ZooKeeperClientFactory.ClientRetryPolicy policy : ZooKeeperClientFactory.ClientRetryPolicy.values()) { Config override = ConfigFactory.parseString( "zookeeper { client { retry { policy = " + policy.name() + "} } }"); ZooKeeperClientFactory factory = new ZooKeeperClientFactory(override.withFallback(config).getConfig("zookeeper")); factory.newClient(); assertTrue(true); // no exception thrown } }