package in.partake.model.dao; import in.partake.app.PartakeApp; import org.junit.Test; /** * Connection 関連のテストケース。 */ public class PartakeConnectionTest extends AbstractConnectionTestCaseBase { private PartakeConnection getConnection() throws DAOException { return PartakeApp.getDBService().getConnection(); } @Test public void testToConnectAndRelease() throws DAOException { PartakeConnection con = getConnection(); try { // do nothing. } finally { con.invalidate(); } } @Test public void testToCommit() throws DAOException { PartakeConnection con = getConnection(); try { con.beginTransaction(); con.commit(); } finally { con.invalidate(); } } @Test(expected = IllegalStateException.class) public void testToCommitInvalidly() throws DAOException { PartakeConnection con = getConnection(); try { // con.beginTransaction(); // commit without acquiring a transaction. con.commit(); } finally { con.invalidate(); } } @Test public void testToRollback() throws DAOException { PartakeConnection con = getConnection(); try { con.beginTransaction(); con.rollback(); } finally { con.invalidate(); } } @Test(expected = IllegalStateException.class) public void testToRollbackInvalidly() throws DAOException { PartakeConnection con = getConnection(); try { // con.beginTransaction(); // rollback without acquiring a transaction. con.rollback(); } finally { con.invalidate(); } } @Test public void testToCallInvalidateWithoutCommit() throws DAOException { // this should success. invalidate() should call rollback when the transaction is not released. PartakeConnection con = getConnection(); try { con.beginTransaction(); } finally { con.invalidate(); } } }