/* * Copyright (c) Smals */ package org.unitils.dbunit; import java.util.Properties; import javax.sql.DataSource; import org.junit.AfterClass; import org.junit.Assert; import org.junit.BeforeClass; import org.junit.Test; import org.junit.runner.RunWith; import org.unitils.UnitilsJUnit4TestClassRunner; import org.unitils.core.ModulesRepository; import org.unitils.core.Unitils; import org.unitils.database.DatabaseModule; import org.unitils.database.SQLUnitils; import org.unitils.database.annotations.TestDataSource; import org.unitils.dbunit.annotation.DataSet; import org.unitils.dbunit.annotation.ExpectedDataSet; /** * test {@link org.unitils.dbunit.DbUnitModule}. * * @author wiw * * @since 1.3.2 * */ @RunWith(UnitilsJUnit4TestClassRunner.class) @DataSet public class ExpectedDataSetDifferentColumnsTest { @BeforeClass public static void beforeClass() { Properties prop = getCorrectProperties(); ModulesRepository modulesRepository = Unitils.getInstance().getModulesRepository(); DatabaseModule databaseModule = modulesRepository.getModuleOfType(DatabaseModule.class); databaseModule.init(prop); databaseModule.afterInit(); DbUnitModule dbunitModule = modulesRepository.getModuleOfType(DbUnitModule.class); dbunitModule.init(prop); dbunitModule.afterInit(); DataSource dataSource2 = databaseModule.getWrapper("").getDataSource(); SQLUnitils.executeUpdate("CREATE TABLE fruit (id varchar(50), name varchar(50))", dataSource2); } @TestDataSource private DataSource dataSource; @Test @ExpectedDataSet("ExpectedDataSetDifferentColumnsTest-FirstContainsMoreAttributes.xml") public void testFirstContainsMoreAttributes() { Assert.assertTrue(true); } @Test @ExpectedDataSet("ExpectedDataSetDifferentColumnsTest-FirstContainsLessAttributes.xml") public void testFirstContainsLessAttributes() throws Exception { Assert.assertTrue(true); } @Test @ExpectedDataSet("ExpectedDataSetDifferentColumnsTest-FirstContainsSameAttributes.xml") public void testFirstContainsSameAttributes() throws Exception { Assert.assertTrue(true); } @Test @ExpectedDataSet("ExpectedDataSetDifferentColumnsTest-DifferentColumns.xml") public void testDifferentColumns() throws Exception { Assert.assertTrue(true); } @AfterClass public static void afterClass() { DataSource dataSource2 = Unitils.getInstance().getModulesRepository().getModuleOfType(DatabaseModule.class).getWrapper("").getDataSource(); SQLUnitils.executeUpdate("DROP TABLE fruit", dataSource2); Unitils.getInstance().initSingletonInstance(); } private static Properties getCorrectProperties() { Unitils.initSingletonInstance(); Properties config = (Properties) Unitils.getInstance().getConfiguration().clone(); config.setProperty("database.names", "database1, database2"); config.setProperty("database.userName", "sa"); config.setProperty("database.password", ""); config.setProperty("database.schemaNames", "public"); config.setProperty("database.driverClassName.database1", "org.hsqldb.jdbcDriver"); config.setProperty("database.driverClassName.database2", "org.h2.Driver"); config.setProperty("database.url.database1", "jdbc:hsqldb:mem:unitils1"); config.setProperty("database.url.database2", "jdbc:h2:~/test"); config.setProperty("database.dialect.database1", "hsqldb"); config.setProperty("database.dialect.database2", "h2"); config.setProperty("database.dbMaintain.enabled", "true"); config.setProperty("dbMaintainer.autoCreateExecutedScriptsTable", "true"); config.setProperty("dbMaintainer.autoCreateDbMaintainScriptsTable", "false"); config.setProperty("updateDataBaseSchema.enabled", "true"); config.setProperty("dbMaintainer.updateSequences.enabled", "true"); config.setProperty("dbMaintainer.keepRetryingAfterError.enabled","true"); config.setProperty("org.unitils.dbmaintainer.script.ScriptSource.implClassName", "org.unitils.dbmaintainer.script.impl.DefaultScriptSource"); config.setProperty("unitils.module.hibernate.enabled", "false"); config.setProperty("unitils.module.jpa.enabled", "false"); config.setProperty("unitils.module.spring.enabled", "false"); config.setProperty("dbMaintainer.script.locations", "src/test/resources/dbscripts"); config.setProperty("dbMaintainer.fromScratch.enabled", "false"); return config; } }