package de.jollyday.datasource; import static org.junit.Assert.*; import java.util.Properties; import org.junit.Test; import de.jollyday.ManagerParameter; import de.jollyday.ManagerParameters; import de.jollyday.datasource.impl.XmlFileDataSource; public class ConfigurationDataSourceManagerTest { ConfigurationDataSourceManager configurationDataSourceManager = new ConfigurationDataSourceManager(); Properties properties = new Properties(); ManagerParameter managerParameter = ManagerParameters.create((String)null, properties); @Test(expected=IllegalStateException.class) public void testGetConfigurationDataSourceMissingConfig() { configurationDataSourceManager.getConfigurationDataSource(managerParameter); } @Test(expected=IllegalStateException.class) public void testGetConfigurationDataSourceMissingClass() { managerParameter.setProperty(ManagerParameter.CONFIGURATION_DATASOURCE_IMPL_CLASS, "ThisIsNoClass"); configurationDataSourceManager.getConfigurationDataSource(managerParameter); } @Test(expected=IllegalStateException.class) public void testGetConfigurationDataSourceMissingConstructor() { managerParameter.setProperty(ManagerParameter.CONFIGURATION_DATASOURCE_IMPL_CLASS, "java.util.Calendar"); configurationDataSourceManager.getConfigurationDataSource(managerParameter); } @Test public void testGetConfigurationDataSourceXmlFileDataSource() { managerParameter.setProperty(ManagerParameter.CONFIGURATION_DATASOURCE_IMPL_CLASS, XmlFileDataSource.class.getName()); ConfigurationDataSource datasource = configurationDataSourceManager.getConfigurationDataSource(managerParameter); assertNotNull("Missing datasource.", datasource); assertEquals("Unexpected class.", XmlFileDataSource.class, datasource.getClass()); } }