package com.five;
import static org.junit.Assert.*;
import java.io.File;
import org.dbunit.Assertion;
import org.dbunit.IDatabaseTester;
import org.dbunit.JdbcDatabaseTester;
import org.dbunit.database.QueryDataSet;
import org.dbunit.dataset.IDataSet;
import org.dbunit.dataset.ITable;
import org.dbunit.dataset.SortedTable;
import org.dbunit.dataset.excel.XlsDataSet;
import org.dbunit.operation.DatabaseOperation;
import org.junit.Before;
import org.junit.Test;
public class DatabaseRepositoryTest {
private final String driver = "com.mysql.jdbc.Driver";
private final String protocol="jdbc:mysql://221.150.127.106:3306/DATAACCESS";
private final String userName="root";
private final String password="ever1234";
private IDatabaseTester databaseTester;
@Before
public void setUp() throws Exception{
databaseTester = new JdbcDatabaseTester(driver,protocol,userName,password);
try{
IDataSet dataSet = new XlsDataSet(new File("src/test/resources/com/오장/seller.xls"));
DatabaseOperation.CLEAN_INSERT.execute(databaseTester.getConnection(), dataSet);
}finally{
databaseTester.getConnection().close();
}
}
@Test
public void testDB() throws Exception{
/*
* 1. 첫번째 방법
ITable actualTable = databaseTester.getConnection().createDataSet().getTable("seller");
*/
/*
* 2. 두번째 방법
QueryDataSet dataSet = new QueryDataSet(databaseTester.getConnection());
dataSet.addTable("seller","select id,name,email from seller");
ITable actualTable = dataSet.getTable("seller");
*/
/*
* 3. 두번째 방법
ITable actualTable = databaseTester.getConnection().createQueryTable("seller","select id,name,email from seller");
*/
/* 4. 네번째 방법 */
ITable actualTable = databaseTester.getConnection().createTable("seller");
IDataSet expectedDataSet = new XlsDataSet(new File("src/test/resources/com/오장/seller.xls"));
ITable expectedTable = expectedDataSet.getTable("seller");
Assertion.assertEquals(new SortedTable(expectedTable), actualTable);
}
}