Changeset: 79c96d76ba06 for monetdb-java
URL: https://dev.monetdb.org/hg/monetdb-java/rev/79c96d76ba06
Modified Files:
        src/test/java/JDBC_API_Tester.java
        src/test/java/org/monetdb/jdbc/ApiTests.java
Branch: default
Log Message:

Convert Test_Ctransaction() -> ApiTests#testAutocommitTransaction()


diffs (151 lines):

diff --git a/src/test/java/JDBC_API_Tester.java 
b/src/test/java/JDBC_API_Tester.java
--- a/src/test/java/JDBC_API_Tester.java
+++ b/src/test/java/JDBC_API_Tester.java
@@ -174,106 +174,6 @@ public final class JDBC_API_Tester exten
                return isPostMar2025;
        }
 
-       @Test
-       public void Test_Ctransaction() {
-               sb.setLength(0);        // clear the output log buffer
-
-               try {
-                       // test commit by checking if a change is visible in 
another connection
-                       sb.append("1. commit...");
-                       con.commit();
-                       sb.append("passed");
-               } catch (SQLException e) {
-                       // this means we get what we expect
-                       sb.append("failed as expected: 
").append(e.getMessage());
-               }
-               sb.append("\n");
-
-               try {
-                       // turn off auto commit
-                       con.setAutoCommit(false);
-                       // >> false: we just disabled it
-                       sb.append("2. 
false\t").append(con.getAutoCommit()).append("\n");
-
-                       // a change would not be visible now
-                       sb.append("3. commit...");
-                       con.commit();
-                       sb.append("passed\n");
-
-                       sb.append("4. commit...");
-                       con.commit();
-                       sb.append("passed\n");
-
-                       sb.append("5. rollback...");
-                       con.rollback();
-                       sb.append("passed");
-               } catch (SQLException e) {
-                       sb.append("FAILED: ").append(e.getMessage());
-               }
-               sb.append("\n");
-
-               Statement stmt = null;
-               try {
-                       // turn on auto commit
-                       con.setAutoCommit(true);
-                       // >> false: we just disabled it
-                       sb.append("6. 
true\t").append(con.getAutoCommit()).append("\n");
-
-                       stmt = con.createStatement();
-                       sb.append("7. start transaction...");
-                       stmt.executeUpdate("START TRANSACTION");
-                       sb.append("passed\n");
-
-                       sb.append("8. commit...");
-                       con.commit();
-                       sb.append("passed\n");
-
-                       sb.append("9. true\t").append(con.getAutoCommit());
-                       sb.append("\n");
-
-                       sb.append("10. start transaction...");
-                       stmt.executeUpdate("START TRANSACTION");
-                       sb.append("passed\n");
-
-                       sb.append("11. rollback...");
-                       con.rollback();
-                       sb.append("passed\n");
-
-                       sb.append("12. true\t").append(con.getAutoCommit());
-               } catch (SQLException e) {
-                       sb.append("FAILED: ").append(e.getMessage());
-               }
-               sb.append("\n");
-
-               try {
-                       // a commit now should fail
-                       sb.append("13. commit...");
-                       con.commit();
-                       sb.append("passed");
-               } catch (SQLException e) {
-                       // this means we get what we expect
-                       sb.append("failed as expected: 
").append(e.getMessage());
-               }
-               sb.append("\n");
-
-               closeStmtResSet(stmt, null);
-
-               compareExpectedOutput("Test_Ctransaction",
-                       "1. commit...failed as expected: COMMIT: not allowed in 
auto commit mode\n" +
-                       "2. false       false\n" +
-                       "3. commit...passed\n" +
-                       "4. commit...passed\n" +
-                       "5. rollback...passed\n" +
-                       "6. true        true\n" +
-                       "7. start transaction...passed\n" +
-                       "8. commit...passed\n" +
-                       "9. true        true\n" +
-                       "10. start transaction...passed\n" +
-                       "11. rollback...passed\n" +
-                       "12. true       true\n" +
-                       "13. commit...failed as expected: COMMIT: not allowed 
in auto commit mode\n");
-       }
-
        @Test  // CHANGED
        public void Test_Driver() {
                sb.setLength(0);        // clear the output log buffer
diff --git a/src/test/java/org/monetdb/jdbc/ApiTests.java 
b/src/test/java/org/monetdb/jdbc/ApiTests.java
--- a/src/test/java/org/monetdb/jdbc/ApiTests.java
+++ b/src/test/java/org/monetdb/jdbc/ApiTests.java
@@ -304,5 +304,37 @@ public class ApiTests {
                conn.rollback();
                conn.setAutoCommit(true);
        }
+
+       @Test
+       public void testAutocommitTransaction() throws SQLException {
+               // NOTE: this whole test seems to be just about autcommit / 
commit and rollback.
+               // There are no data changes.
+
+               // commit fails in autocommit mode
+               assertSQLException("not allowed in auto commit mode", () -> 
conn.commit());
+
+               // it succeeds when autocommit is off
+               conn.setAutoCommit(false);
+               assertFalse(conn.getAutoCommit());
+               conn.commit();
+               // twice, even (??)
+               conn.commit();
+               // and so does rollback
+               conn.rollback();
+
+               // now we turn autocommit back on and start a transaction 
manually
+               conn.setAutoCommit(true);
+               assertTrue(conn.getAutoCommit());
+               stmt.executeUpdate("START TRANSACTION");
+
+               // the jdbc driver realizes that autocommit is now off
+               // (NOTE: this check was not in the original test)
+               assertFalse(conn.getAutoCommit());
+
+               conn.rollback();
+               assertTrue(conn.getAutoCommit());
+
+               assertSQLException("not allowed in auto commit mode", () -> 
conn.commit());
+       }
 }
 
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to