Search in sources :

Example 1 with Postgres

use of com.torodb.stampede.config.model.backend.postgres.Postgres 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("/logging not defined", config.getLogging() != null);
    Assert.assertTrue("/replication not defined", config.getReplication() != 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));
}
Also used : CliConfig(com.torodb.stampede.CliConfig) Config(com.torodb.stampede.config.model.Config) CliConfig(com.torodb.stampede.CliConfig) Postgres(com.torodb.stampede.config.model.backend.postgres.Postgres) Test(org.junit.Test)

Example 2 with Postgres

use of com.torodb.stampede.config.model.backend.postgres.Postgres in project torodb by torodb.

the class ConfigTest method testReplicationFilteringWithIndexes.

@Test
public void testReplicationFilteringWithIndexes() 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[] { "/replication/include={torodb: [{postgres: {name: awesome, unique: true}}, derby]}", "/replication/exclude={mongodb: [{mmapv1: {keys: {\"the.old.mmapv1\": 1}}}, wiredtiger]}" };
            return Arrays.asList(params);
        }
    };
    Config config = CliConfigUtils.readConfig(cliConfig);
    Assert.assertTrue("/logging not defined", config.getLogging() != null);
    Assert.assertTrue("/logging/packages not defined", config.getLogging().getPackages() != null);
    Assert.assertTrue("/logging/packages/com.torodb not defined", config.getLogging().getPackages().get("com.torodb") != null);
    Assert.assertEquals("/logging/level has different value than that specified", LogLevel.NONE, config.getLogging().getLevel());
    Assert.assertEquals("/logging/packages has not 1 entry", 1, config.getLogging().getPackages().size());
    Assert.assertEquals("/logging/packages/com.torodb has different value than that specified", LogLevel.DEBUG, config.getLogging().getPackages().get("com.torodb"));
    Assert.assertTrue("/replication not defined", config.getReplication() != null);
    Assert.assertEquals("/replication/replSetName has different value than that specified", "rs1", config.getReplication().getReplSetName());
    Assert.assertEquals("/replication/role has different value than that specified", Role.HIDDEN_SLAVE, config.getReplication().getRole());
    Assert.assertEquals("/replication/syncSource has different value than that specified", "localhost:27017", config.getReplication().getSyncSource());
    Assert.assertTrue("/replication/include not defined", config.getReplication().getInclude() != null);
    Assert.assertTrue("/replication/include/torodb not defined", config.getReplication().getInclude().get("torodb") != null);
    Assert.assertEquals("/replication/include/torodb has different value than that specified", ImmutableMap.of("postgres", ImmutableList.of(new IndexFilter("awesome", true, null)), "derby", ImmutableList.of()), config.getReplication().getInclude().get("torodb"));
    Assert.assertTrue("/replication/exclude not defined", config.getReplication().getExclude() != null);
    Assert.assertTrue("/replication/exclude/mongodb not defined", config.getReplication().getExclude().get("mongodb") != null);
    Assert.assertEquals("/replication/exclude/mongodb has different value than that specified", ImmutableMap.of("mmapv1", ImmutableList.of(new IndexFilter(null, null, ImmutableMap.<String, String>builder().put("the.old.mmapv1", "1").build())), "wiredtiger", ImmutableList.of()), config.getReplication().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());
}
Also used : CliConfig(com.torodb.stampede.CliConfig) Config(com.torodb.stampede.config.model.Config) CliConfig(com.torodb.stampede.CliConfig) IndexFilter(com.torodb.packaging.config.model.protocol.mongo.FilterList.IndexFilter) Postgres(com.torodb.stampede.config.model.backend.postgres.Postgres) Test(org.junit.Test)

Example 3 with Postgres

use of com.torodb.stampede.config.model.backend.postgres.Postgres 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[] { "/replication/include={torodb: [postgres, derby]}", "/replication/exclude={mongodb: {mmapv1, wiredtiger}}" };
            return Arrays.asList(params);
        }
    };
    Config config = CliConfigUtils.readConfig(cliConfig);
    Assert.assertTrue("/logging not defined", config.getLogging() != null);
    Assert.assertTrue("/logging/packages not defined", config.getLogging().getPackages() != null);
    Assert.assertTrue("/logging/packages/com.torodb not defined", config.getLogging().getPackages().get("com.torodb") != null);
    Assert.assertEquals("/logging/level has different value than that specified", LogLevel.NONE, config.getLogging().getLevel());
    Assert.assertEquals("/logging/packages has not 1 entry", 1, config.getLogging().getPackages().size());
    Assert.assertEquals("/logging/packages/com.torodb has different value than that specified", LogLevel.DEBUG, config.getLogging().getPackages().get("com.torodb"));
    Assert.assertTrue("/replication not defined", config.getReplication() != null);
    Assert.assertEquals("/replication/replSetName has different value than that specified", "rs1", config.getReplication().getReplSetName());
    Assert.assertEquals("/replication/role has different value than that specified", Role.HIDDEN_SLAVE, config.getReplication().getRole());
    Assert.assertEquals("/replication/syncSource has different value than that specified", "localhost:27017", config.getReplication().getSyncSource());
    Assert.assertTrue("/replication/include not defined", config.getReplication().getInclude() != null);
    Assert.assertTrue("/replication/include/torodb not defined", config.getReplication().getInclude().get("torodb") != null);
    Assert.assertEquals("/replication/include/torodb has different value than that specified", ImmutableMap.of("postgres", ImmutableList.of(), "derby", ImmutableList.of()), config.getReplication().getInclude().get("torodb"));
    Assert.assertTrue("/replication/exclude not defined", config.getReplication().getExclude() != null);
    Assert.assertTrue("/replication/exclude/mongodb not defined", config.getReplication().getExclude().get("mongodb") != null);
    Assert.assertEquals("/replication/exclude/mongodb has different value than that specified", ImmutableMap.of("mmapv1", ImmutableList.of(), "wiredtiger", ImmutableList.of()), config.getReplication().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());
}
Also used : CliConfig(com.torodb.stampede.CliConfig) Config(com.torodb.stampede.config.model.Config) CliConfig(com.torodb.stampede.CliConfig) Postgres(com.torodb.stampede.config.model.backend.postgres.Postgres) Test(org.junit.Test)

Example 4 with Postgres

use of com.torodb.stampede.config.model.backend.postgres.Postgres in project torodb by torodb.

the class ConfigTest method testParseWithYAML.

@Test
public void testParseWithYAML() 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");
        }
    };
    Config config = CliConfigUtils.readConfig(cliConfig);
    Assert.assertTrue("/logging not defined", config.getLogging() != null);
    Assert.assertTrue("/logging/packages not defined", config.getLogging().getPackages() != null);
    Assert.assertTrue("/logging/packages/com.torodb not defined", config.getLogging().getPackages().get("com.torodb") != null);
    Assert.assertEquals("/logging/level has different value than that specified", LogLevel.NONE, config.getLogging().getLevel());
    Assert.assertEquals("/logging/packages has not 1 entry", 1, config.getLogging().getPackages().size());
    Assert.assertEquals("/logging/packages/com.torodb has different value than that specified", LogLevel.DEBUG, config.getLogging().getPackages().get("com.torodb"));
    Assert.assertTrue("/replication not defined", config.getReplication() != null);
    Assert.assertEquals("/replication/replSetName has different value than that specified", "rs1", config.getReplication().getReplSetName());
    Assert.assertEquals("/replication/role has different value than that specified", Role.HIDDEN_SLAVE, config.getReplication().getRole());
    Assert.assertEquals("/replication/syncSource has different value than that specified", "localhost:27017", config.getReplication().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 specified but should have not been read from parameters", null, config.getBackend().as(Postgres.class).getPassword());
}
Also used : CliConfig(com.torodb.stampede.CliConfig) Config(com.torodb.stampede.config.model.Config) CliConfig(com.torodb.stampede.CliConfig) Postgres(com.torodb.stampede.config.model.backend.postgres.Postgres) Test(org.junit.Test)

Example 5 with Postgres

use of com.torodb.stampede.config.model.backend.postgres.Postgres 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("/logging not defined", config.getLogging() != null);
    Assert.assertTrue("/logging/packages not defined", config.getLogging().getPackages() != null);
    Assert.assertTrue("/logging/packages/com.torodb not defined", config.getLogging().getPackages().get("com.torodb") != null);
    Assert.assertEquals("/logging/level has different value than that specified", LogLevel.NONE, config.getLogging().getLevel());
    Assert.assertEquals("/logging/packages has not 1 entry", 1, config.getLogging().getPackages().size());
    Assert.assertEquals("/logging/packages/com.torodb has different value than that specified", LogLevel.DEBUG, config.getLogging().getPackages().get("com.torodb"));
    Assert.assertTrue("/replication not defined", config.getReplication() != null);
    Assert.assertEquals("/replication/replSetName has different value than that specified", "rs1", config.getReplication().getReplSetName());
    Assert.assertEquals("/replication/role has different value than that specified", Role.HIDDEN_SLAVE, config.getReplication().getRole());
    Assert.assertEquals("/replication/syncSource has different value than that specified", "localhost:27017", config.getReplication().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());
}
Also used : CliConfig(com.torodb.stampede.CliConfig) Config(com.torodb.stampede.config.model.Config) CliConfig(com.torodb.stampede.CliConfig) Postgres(com.torodb.stampede.config.model.backend.postgres.Postgres) Test(org.junit.Test)

Aggregations

CliConfig (com.torodb.stampede.CliConfig)5 Config (com.torodb.stampede.config.model.Config)5 Postgres (com.torodb.stampede.config.model.backend.postgres.Postgres)5 Test (org.junit.Test)5 IndexFilter (com.torodb.packaging.config.model.protocol.mongo.FilterList.IndexFilter)1