package org.unitils.database.config; import java.io.File; import java.io.FileInputStream; import java.util.Arrays; import java.util.HashMap; import java.util.Map; import java.util.Properties; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.junit.Before; import org.junit.Test; import org.unitils.core.config.Configuration; import org.unitils.reflectionassert.ReflectionAssert; /** * DatabaseConfigurationsFactoryMultipleDatabaseTest. * * @author Jeroen Horemans * @author Thomas De Rycke * @author Willemijn Wouters * * @since 3.4 * */ public class DatabaseConfigurationsFactoryMultipleDatabaseTest { private static final Log LOGGER = LogFactory.getLog(DatabaseConfigurationsFactoryMultipleDatabaseTest.class); private DatabaseConfigurationsFactory factory; private DatabaseConfiguration config1; private DatabaseConfiguration config2; /** * @throws java.lang.Exception */ @Before public void setUp() throws Exception { Properties config = new Properties(); File file = new File("src/test/resources/org/unitils/database/config/testconfigMultipleDatabases.properties"); LOGGER.info(file.getAbsolutePath()); config.load(new FileInputStream(file)); factory = new DatabaseConfigurationsFactory(new Configuration(config)); config1 = new DatabaseConfiguration("database1", "hsqldb", "org.hsqldb.jdbcDriver", "jdbc:hsqldb:mem:unitils1", "sa", null, "public", Arrays.asList("public"), false, true); config2 = new DatabaseConfiguration("database2", "h2", "org.h2.Driver", "jdbc:h2:~/test", "sa", null, "public", Arrays.asList("public"), false, false); } @Test public void testCreateDatabaseConfiguration() { ReflectionAssert.assertLenientEquals(config1, factory.createDatabaseConfiguration("database1", true)); } @Test public void testCreate() { Map<String, DatabaseConfiguration> databaseConfigurations = new HashMap<String, DatabaseConfiguration>(); databaseConfigurations.put("database1", config1); databaseConfigurations.put("database2", config2); DatabaseConfigurations configs = new DatabaseConfigurations(null, databaseConfigurations); ReflectionAssert.assertLenientEquals(configs, factory.create()); } }