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.io.FilenameUtils;
import org.junit.Before;
import org.junit.Test;
import org.unitils.core.config.Configuration;
import org.unitils.reflectionassert.ReflectionAssert;
/**
* DatabaseConfigurationsFactoryTest.
*
* @author wiw
*
* @since 3.3
*
*/
public class DatabaseConfigurationsFactoryTest {
private DatabaseConfigurationsFactory factory;
private DatabaseConfiguration config1;
private DatabaseConfiguration config2;
/**
* @throws java.lang.Exception
*/
@Before
public void setUp() throws Exception {
Properties config = new Properties();
String strFile = FilenameUtils.separatorsToSystem("src\\test\\resources\\org\\unitils\\database\\config\\testconfig.properties");
File file = new File(strFile);
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", "hsqldb", "org.hsqldb.jdbcDriver", "jdbc:hsqldb:mem:unitils2", "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());
}
}