Advertisement
Laimoncijus

DatasetTest.java

Mar 7th, 2013
49
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.82 KB | None | 0 0
  1. import java.io.InputStream;
  2. import java.sql.Connection;
  3. import java.sql.DriverManager;
  4. import java.util.Properties;
  5.  
  6. import org.dbunit.Assertion;
  7. import org.dbunit.database.DatabaseConfig;
  8. import org.dbunit.database.DatabaseConnection;
  9. import org.dbunit.dataset.CompositeDataSet;
  10. import org.dbunit.dataset.IDataSet;
  11. import org.dbunit.dataset.ITable;
  12. import org.dbunit.dataset.xml.FlatXmlDataSetBuilder;
  13. import org.dbunit.ext.mysql.MySqlDataTypeFactory;
  14.  
  15.  
  16. public class DatasetTest {
  17.  
  18.     /**
  19.      * @param args
  20.      */
  21.     public static void main(String[] args) throws Exception {
  22.         IDataSet expected = getFileDataset();
  23.         IDataSet actual = getQueryDataset();
  24.  
  25.         Assertion.assertEquals(expected, actual);
  26.  
  27.         System.out.print("All fine");
  28.     }
  29.  
  30.     private static IDataSet getFileDataset() throws Exception {
  31.         FlatXmlDataSetBuilder builder = new FlatXmlDataSetBuilder();
  32.         InputStream input = DatasetTest.class.getClassLoader().getResourceAsStream("Expected.xml");
  33.         return builder.build(input);
  34.     }
  35.  
  36.     private static IDataSet getQueryDataset() throws Exception {
  37.         String query = "SELECT `table1`.`label`" +
  38.                             ", `table2`.`label` AS `table2_label` " +
  39.                         "FROM `table1`, `table2` " +
  40.                         "WHERE `table1`.`id` = `table2`.`table1_id`";
  41.         ITable table = getConnection().createQueryTable("test_dataset", query);
  42.         return new CompositeDataSet(new ITable[] { table });
  43.     }
  44.  
  45.     private static DatabaseConnection getConnection() throws Exception {
  46.         Properties props = new Properties();
  47.         props.put("user", "user");
  48.         props.put("password", "pass");
  49.  
  50.         Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", props);
  51.         DatabaseConnection dbConn = new DatabaseConnection(conn);
  52.         dbConn.getConfig().setProperty(DatabaseConfig.PROPERTY_DATATYPE_FACTORY, new MySqlDataTypeFactory());
  53.  
  54.         return dbConn;
  55.     }
  56.  
  57. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement