use of com.torodb.standalone.CliConfig in project torodb by torodb.
the class ConfigTest method testParseWithWrongTypeParam.
@Test(expected = IllegalArgumentException.class)
public void testParseWithWrongTypeParam() throws Exception {
CliConfig cliConfig = new CliConfig() {
@Override
public List<String> getParams() {
String[] params = new String[] { "/generic/logLevel=ALL" };
return Arrays.asList(params);
}
};
CliConfigUtils.readConfig(cliConfig);
}
use of com.torodb.standalone.CliConfig in project torodb by torodb.
the class ConfigTest method testParseWithXML.
@Test
public void testParseWithXML() throws Exception {
CliConfig cliConfig = new CliConfig() {
@Override
public boolean hasXmlConfFile() {
return true;
}
@Override
public InputStream getXmlConfInputStream() {
return ConfigTest.class.getResourceAsStream("/test-parse-with-xml.xml");
}
};
Config config = CliConfigUtils.readConfig(cliConfig);
Assert.assertTrue("/generic not defined", config.getGeneric() != null);
Assert.assertTrue("/generic/logPackages not defined", config.getGeneric().getLogPackages() != null);
Assert.assertTrue("/generic/logPackages/com.torodb not defined", config.getGeneric().getLogPackages().get("com.torodb") != null);
Assert.assertEquals("/generic/logLevel has different value than that specified", LogLevel.NONE, config.getGeneric().getLogLevel());
Assert.assertEquals("/generic/logPackages has not 1 entry", 1, config.getGeneric().getLogPackages().size());
Assert.assertEquals("/generic/logPackages/com.torodb has different value than that specified", LogLevel.DEBUG, config.getGeneric().getLogPackages().get("com.torodb"));
Assert.assertTrue("/protocol not defined", config.getProtocol() != null);
Assert.assertTrue("/protocol/mongo not defined", config.getProtocol().getMongo() != null);
Assert.assertTrue("/protocol/mongo/net not defined", config.getProtocol().getMongo().getNet() != null);
Assert.assertTrue("/protocol/mongo/replication not defined", config.getProtocol().getMongo().getReplication() != null);
Assert.assertEquals("/protocol/mongo/net/port has different value than that specified", Integer.valueOf(27019), config.getProtocol().getMongo().getNet().getPort());
Assert.assertEquals("/protocol/mongo/replication has not 1 element", 1, config.getProtocol().getMongo().getReplication().size());
Assert.assertEquals("/protocol/mongo/replication/0/replSetName has different value than that specified", "rs1", config.getProtocol().getMongo().getReplication().get(0).getReplSetName());
Assert.assertEquals("/protocol/mongo/replication/0/role has different value than that specified", Role.HIDDEN_SLAVE, config.getProtocol().getMongo().getReplication().get(0).getRole());
Assert.assertEquals("/protocol/mongo/replication/0/syncSource has different value than that specified", "localhost:27017", config.getProtocol().getMongo().getReplication().get(0).getSyncSource());
Assert.assertTrue("/backend not defined", config.getBackend() != null);
Assert.assertEquals("/backend/postgres not defined", Postgres.class, config.getBackend().getBackendImplementation().getClass());
Assert.assertTrue("/backend/postgres not identified as AbstractPostgres", config.getBackend().is(Postgres.class));
Assert.assertTrue("/backend/postgres not identified as AbstractPostgres Like", config.getBackend().isLike(Postgres.class));
Assert.assertEquals("/backend/postgres/host has different value than that specified", "localhost", config.getBackend().as(Postgres.class).getHost());
Assert.assertEquals("/backend/postgres/port has different value than that specified", Integer.valueOf(5432), config.getBackend().as(Postgres.class).getPort());
Assert.assertEquals("/backend/postgres/user has different value than that specified", "root", config.getBackend().as(Postgres.class).getUser());
Assert.assertEquals("/backend/postgres/password has different value than that specified", null, config.getBackend().as(Postgres.class).getPassword());
}
use of com.torodb.standalone.CliConfig in project torodb by torodb.
the class ConfigTest method testReplicationFiltering.
@Test
public void testReplicationFiltering() throws Exception {
CliConfig cliConfig = new CliConfig() {
@Override
public boolean hasConfFile() {
return true;
}
@Override
public InputStream getConfInputStream() {
return ConfigTest.class.getResourceAsStream("/test-parse-with-yaml.yml");
}
@Override
public List<String> getParams() {
String[] params = new String[] { "/protocol/mongo/replication/0/include={torodb: [postgres, derby]}", "/protocol/mongo/replication/0/exclude={mongodb: {mmapv1, wiredtiger}}" };
return Arrays.asList(params);
}
};
Config config = CliConfigUtils.readConfig(cliConfig);
Assert.assertTrue("/generic not defined", config.getGeneric() != null);
Assert.assertTrue("/generic/logPackages not defined", config.getGeneric().getLogPackages() != null);
Assert.assertTrue("/generic/logPackages/com.torodb not defined", config.getGeneric().getLogPackages().get("com.torodb") != null);
Assert.assertEquals("/generic/logLevel has different value than that specified", LogLevel.NONE, config.getGeneric().getLogLevel());
Assert.assertEquals("/generic/logPackages has not 1 entry", 1, config.getGeneric().getLogPackages().size());
Assert.assertEquals("/generic/logPackages/com.torodb has different value than that specified", LogLevel.DEBUG, config.getGeneric().getLogPackages().get("com.torodb"));
Assert.assertTrue("/protocol not defined", config.getProtocol() != null);
Assert.assertTrue("/protocol/mongo not defined", config.getProtocol().getMongo() != null);
Assert.assertTrue("/protocol/mongo/net not defined", config.getProtocol().getMongo().getNet() != null);
Assert.assertTrue("/protocol/mongo/replication not defined", config.getProtocol().getMongo().getReplication() != null);
Assert.assertEquals("/protocol/mongo/net/port has different value than that specified", Integer.valueOf(27019), config.getProtocol().getMongo().getNet().getPort());
Assert.assertEquals("/protocol/mongo/replication has not 1 element", 1, config.getProtocol().getMongo().getReplication().size());
Assert.assertEquals("/protocol/mongo/replication/0/replSetName has different value than that specified", "rs1", config.getProtocol().getMongo().getReplication().get(0).getReplSetName());
Assert.assertEquals("/protocol/mongo/replication/0/role has different value than that specified", Role.HIDDEN_SLAVE, config.getProtocol().getMongo().getReplication().get(0).getRole());
Assert.assertEquals("/protocol/mongo/replication/0/syncSource has different value than that specified", "localhost:27017", config.getProtocol().getMongo().getReplication().get(0).getSyncSource());
Assert.assertTrue("/protocol/mongo/replication/0/include not defined", config.getProtocol().getMongo().getReplication().get(0).getInclude() != null);
Assert.assertTrue("/protocol/mongo/replication/0/include/torodb not defined", config.getProtocol().getMongo().getReplication().get(0).getInclude().get("torodb") != null);
Assert.assertEquals("/protocol/mongo/replication/0/include/torodb has different value than that specified", ImmutableMap.of("postgres", ImmutableList.of(), "derby", ImmutableList.of()), config.getProtocol().getMongo().getReplication().get(0).getInclude().get("torodb"));
Assert.assertTrue("/protocol/mongo/replication/0/exclude not defined", config.getProtocol().getMongo().getReplication().get(0).getExclude() != null);
Assert.assertTrue("/protocol/mongo/replication/0/exclude/mongodb not defined", config.getProtocol().getMongo().getReplication().get(0).getExclude().get("mongodb") != null);
Assert.assertEquals("/protocol/mongo/replication/0/exclude/mongodb has different value than that specified", ImmutableMap.of("mmapv1", ImmutableList.of(), "wiredtiger", ImmutableList.of()), config.getProtocol().getMongo().getReplication().get(0).getExclude().get("mongodb"));
Assert.assertTrue("/backend not defined", config.getBackend() != null);
Assert.assertEquals("/backend/postgres not defined", Postgres.class, config.getBackend().getBackendImplementation().getClass());
Assert.assertTrue("/backend/postgres not identified as AbstractPostgres", config.getBackend().is(Postgres.class));
Assert.assertTrue("/backend/postgres not identified as AbstractPostgres Like", config.getBackend().isLike(Postgres.class));
Assert.assertEquals("/backend/postgres/host has different value than that specified", "localhost", config.getBackend().as(Postgres.class).getHost());
Assert.assertEquals("/backend/postgres/port has different value than that specified", Integer.valueOf(5432), config.getBackend().as(Postgres.class).getPort());
Assert.assertEquals("/backend/postgres/user has different value than that specified", "root", config.getBackend().as(Postgres.class).getUser());
Assert.assertEquals("/backend/postgres/password specified but should have not been read from parameters", null, config.getBackend().as(Postgres.class).getPassword());
}
use of com.torodb.standalone.CliConfig in project torodb by torodb.
the class ConfigTest method testParseWithYAMLUsingDerby.
@Test
public void testParseWithYAMLUsingDerby() throws Exception {
CliConfig cliConfig = new CliConfig() {
@Override
public boolean hasConfFile() {
return true;
}
@Override
public InputStream getConfInputStream() {
return ConfigTest.class.getResourceAsStream("/test-parse-with-yaml-using-derby.yml");
}
};
Config config = CliConfigUtils.readConfig(cliConfig);
Assert.assertTrue("/backend not defined", config.getBackend() != null);
Assert.assertEquals("/backend/derby not defined", Derby.class, config.getBackend().getBackendImplementation().getClass());
Assert.assertTrue("/backend/derby not identified as AbstractDerby", config.getBackend().is(Derby.class));
Assert.assertTrue("/backend/derby not identified as AbstractDerby Like", config.getBackend().isLike(Derby.class));
Assert.assertEquals("/backend/derby/host has different value than that specified", "localhost", config.getBackend().as(Derby.class).getHost());
Assert.assertEquals("/backend/derby/port has different value than that specified", Integer.valueOf(5432), config.getBackend().as(Derby.class).getPort());
Assert.assertEquals("/backend/derby/user has different value than that specified", "root", config.getBackend().as(Derby.class).getUser());
Assert.assertEquals("/backend/derby/password specified but should have not been read from parameters", null, config.getBackend().as(Derby.class).getPassword());
}
use of com.torodb.standalone.CliConfig in project torodb by torodb.
the class ConfigTest method testParseWithEmptyYAML.
@Test(expected = IllegalArgumentException.class)
public void testParseWithEmptyYAML() throws Exception {
CliConfig cliConfig = new CliConfig() {
@Override
public boolean hasConfFile() {
return true;
}
@Override
public InputStream getConfInputStream() {
return ConfigTest.class.getResourceAsStream("/test-parse-with-empty-yaml.yml");
}
};
Config config = CliConfigUtils.readConfig(cliConfig);
Assert.assertTrue("/generic not defined", config.getGeneric() != null);
Assert.assertTrue("/protocol not defined", config.getProtocol() != null);
Assert.assertTrue("/protocol/mongo not defined", config.getProtocol().getMongo() != null);
Assert.assertTrue("/protocol/mongo/net not defined", config.getProtocol().getMongo().getNet() != null);
Assert.assertTrue("/backend not defined", config.getBackend() != null);
Assert.assertEquals("/backend/postgres not defined", Postgres.class, config.getBackend().getBackendImplementation().getClass());
Assert.assertTrue("/backend/postgres not identified as AbstractPostgres", config.getBackend().is(Postgres.class));
}
Aggregations