Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.sql.SQLException;
- import com.mydb.UserTest;
- public interface UserDao {
- /**
- * Insert an user in the database.
- *
- * @param user user to be inserted
- * @return if id the inserted user
- */
- long addUser( UserTest user ) throws SQLException;
- UserTest getUserById( long id ) throws SQLException;
- }
- import static org.junit.Assert.*;
- import java.io.InputStream;
- import java.io.InputStreamReader;
- import java.io.Reader;
- import java.sql.Connection;
- import java.sql.DriverManager;
- import org.dbunit.dataset.IDataSet;
- import org.dbunit.dataset.ReplacementDataSet;
- import org.dbunit.dataset.xml.FlatXmlDataSet;
- import org.dbunit.ext.hsqldb.HsqldbConnection;
- import org.junit.AfterClass;
- import org.junit.BeforeClass;
- public abstract class AbstractDbUnitTestCase {
- protected static UserDaoJdbcImpl dao = new UserDaoJdbcImpl();
- protected static Connection connection;
- protected static HsqldbConnection dbunitConnection;
- @BeforeClass
- public static void setupDatabase() throws Exception {
- Class.forName("com.mysql.jdbc.Driver");
- connection = DriverManager.getConnection("jdbc:mysql://mydb/mydb","user","password");
- if (connection != null)
- System.out.println("Connected to the database");
- dbunitConnection = new HsqldbConnection(connection,null);
- dao.setConnection(connection);
- }
- @AfterClass
- public static void closeDatabase() throws Exception {
- if ( dbunitConnection != null ) {
- dbunitConnection.close();
- dbunitConnection = null;
- }
- }
- public static IDataSet getDataSet(String name) throws Exception {
- InputStream inputStream = AbstractDbUnitTestCase.class.getResourceAsStream(name);
- assertNotNull("file " + name + " not found in classpath", inputStream );
- Reader reader = new InputStreamReader(inputStream);
- FlatXmlDataSet dataset = new FlatXmlDataSet(reader);
- return dataset;
- }
- public static IDataSet getReplacedDataSet(String name, long id) throws Exception {
- IDataSet originalDataSet = getDataSet(name);
- return getReplacedDataSet(originalDataSet, id);
- }
- public static IDataSet getReplacedDataSet(IDataSet originalDataSet, long id) throws Exception {
- ReplacementDataSet replacementDataSet = new ReplacementDataSet(originalDataSet);
- replacementDataSet.addReplacementObject("[ID]", id);
- replacementDataSet.addReplacementObject("[NULL]", null);
- return replacementDataSet;
- }
- }
- import static org.junit.Assert.*;
- import static com.test.EntitiesHelper.*;
- import org.dbunit.Assertion;
- import org.dbunit.dataset.IDataSet;
- import org.dbunit.operation.DatabaseOperation;
- import org.junit.Ignore;
- import org.junit.Test;
- import com.mydb.UserTest;
- public class UserDaoJdbcImplTest extends AbstractDbUnitTestCase {
- @Test
- public void testGetUserById() throws Exception {
- IDataSet setupDataSet = getDataSet("/user.xml");
- DatabaseOperation.CLEAN_INSERT.execute(dbunitConnection, setupDataSet);
- UserProvaTest user = dao.getUserById(1);
- assertNotNull( user);
- assertEquals( "Jeffrey", user.getFirstName() );
- assertEquals( "Lebowsky", user.getLastName() );
- assertEquals( "ElDuderino", user.getUsername() );
- }
- @Test @Ignore("fails if run together with others")
- public void testAddUser() throws Exception {
- UserProvaTest user = newUser();
- long id = dao.addUser(user);
- assertTrue(id>0);
- IDataSet expectedDataSet = getDataSet("/user.xml");
- IDataSet actualDataSet = dbunitConnection.createDataSet();
- Assertion.assertEquals( expectedDataSet, actualDataSet );
- }
- @Test
- public void testAddUseIgnoringId() throws Exception {
- IDataSet setupDataSet = getDataSet("/user.xml");
- DatabaseOperation.DELETE_ALL.execute(dbunitConnection, setupDataSet);
- UserProvaTest user = newUser();
- long id = dao.addUser(user);
- assertTrue(id>0);
- IDataSet expectedDataSet = getDataSet("/user.xml");
- IDataSet actualDataSet = dbunitConnection.createDataSet();
- Assertion.assertEqualsIgnoreCols( expectedDataSet, actualDataSet, "users", new String[] { "id" } );
- }
- @Test
- public void testGetUserByIdReplacingIds() throws Exception {
- long id = 42;
- IDataSet setupDataset = getReplacedDataSet("/user-token.xml", id );
- DatabaseOperation.INSERT.execute(dbunitConnection, setupDataset);
- UserProvaTest user = dao.getUserById(id);
- assertUser(user);
- }
- @Test
- public void testAddUserReplacingIds() throws Exception {
- IDataSet setupDataSet = getDataSet("/user-token.xml");
- DatabaseOperation.DELETE_ALL.execute(dbunitConnection, setupDataSet);
- UserProvaTest user = newUser();
- long id = dao.addUser(user);
- assertTrue(id>0);
- IDataSet expectedDataSet = getReplacedDataSet(setupDataSet, id );
- IDataSet actualDataSet = dbunitConnection.createDataSet();
- Assertion.assertEquals( expectedDataSet, actualDataSet );
- }
- }
- <?xml version='1.0' encoding='UTF-8'?>
- <dataset>
- <UserTest id="1" username="ElDuderino" first_name="Jeffrey" last_name="Lebowsky" />
- </dataset>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement