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

Convert Test_Cautocommit() -> ApiTests#testAutocommit()


diffs (152 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
@@ -175,97 +175,6 @@ public final class JDBC_API_Tester exten
        }
 
        @Test
-       public void Test_Cautocommit() {
-               sb.setLength(0);        // clear the output log buffer
-
-               Connection con1 = con;
-               Connection con2 = null;
-               Statement stmt1 = null;
-               Statement stmt2 = null;
-               ResultSet rs = null;
-               try {
-                       con2 = DriverManager.getConnection(jdbcUrl);
-
-                       // >> true: auto commit should be on by default
-                       if (con1.getAutoCommit() != true)
-                               sb.append("expecting con1 to have autocommit 
on/true");
-                       if (con2.getAutoCommit() != true)
-                               sb.append("expecting con2 to have autocommit 
on/true");
-
-                       // test commit by checking if a change is visible in 
another connection
-                       stmt1 = con1.createStatement();
-                       sb.append("1. create...");
-                       stmt1.executeUpdate("CREATE TABLE 
table_Test_Cautocommit ( id int )");
-                       sb.append("passed :)\n");
-
-                       stmt2 = con2.createStatement();
-                       sb.append("2. select...");
-                       rs = stmt2.executeQuery("SELECT * FROM 
table_Test_Cautocommit");
-                       sb.append("passed :)\n");
-               } catch (SQLException e) {
-                       sb.append("FAILED: 
").append(e.getMessage()).append("\n");
-                       closeStmtResSet(stmt2, rs);
-                       closeStmtResSet(stmt1, null);
-                       closeConx(con2);
-                       sb.append("ABORTING TEST!!!");
-                       return;
-               }
-
-               try {
-                       // turn off auto commit
-                       con1.setAutoCommit(false);
-                       con2.setAutoCommit(false);
-
-                       // >> false: we just disabled it
-                       if (con1.getAutoCommit() != false)
-                               sb.append("expecting con1 to have autocommit 
off/false");
-                       if (con2.getAutoCommit() != false)
-                               sb.append("expecting con2 to have autocommit 
off/false");
-
-                       // a change would not be visible now
-                       sb.append("3. drop...");
-                       stmt2.executeUpdate("DROP TABLE 
table_Test_Cautocommit");
-                       sb.append("passed :)\n");
-
-                       sb.append("4. select...");
-                       rs = stmt1.executeQuery("SELECT * FROM 
table_Test_Cautocommit");
-                       sb.append("passed :)\n");
-
-                       sb.append("5. commit...");
-                       con2.commit();
-                       sb.append("passed :)\n");
-
-                       sb.append("6. select...");
-                       rs = stmt1.executeQuery("SELECT * FROM 
table_Test_Cautocommit");
-                       sb.append("passed :)\n");
-
-                       sb.append("7. commit...");
-                       con1.commit();
-                       sb.append("passed :)\n");
-
-                       // restore original auto commit setting
-                       con1.setAutoCommit(true);
-                       con2.setAutoCommit(true);
-               } catch (SQLException e) {
-                       sb.append("FAILED: 
").append(e.getMessage()).append("\n");
-               }
-
-               closeStmtResSet(stmt1, rs);
-               closeStmtResSet(stmt2, null);
-
-               closeConx(con2);
-
-               compareExpectedOutput("Test_Cautocommit",
-                               "1. create...passed :)\n" +
-                               "2. select...passed :)\n" +
-                               "3. drop...passed :)\n" +
-                               "4. select...passed :)\n" +
-                               "5. commit...passed :)\n" +
-                               "6. select...passed :)\n" +
-                               "7. commit...passed :)\n");
-       }
-
-       @Test
        public void Test_CisValid() {
                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
@@ -8,8 +8,7 @@ import org.monetdb.testinfra.MonetVersio
 import java.sql.*;
 import java.util.ArrayList;
 
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertTrue;
+import static org.junit.jupiter.api.Assertions.*;
 
 /**
  * Tests migrated from JDBC_API_Testser
@@ -89,5 +88,37 @@ public class ApiTests {
                return DriverManager.getConnection(Config.getServerURL());
        }
 
+       @Test
+       public void testAutocommit() throws SQLException {
+               stmt.executeUpdate("DROP TABLE IF EXISTS test_autocommit");
+
+               try (Connection conn2 = newConnection(); Statement stmt2 = 
conn2.createStatement()) {
+
+                       assertTrue(conn.getAutoCommit());
+                       assertTrue(conn2.getAutoCommit());
+
+                       // conn1 creates it, conn2 sees it
+                       stmt.executeUpdate("CREATE TABLE test_autocommit ( id 
int )");
+                       stmt2.executeQuery("SELECT * FROM 
test_autocommit").close();
+
+                       conn.setAutoCommit(false);
+                       assertFalse(conn.getAutoCommit());
+                       assertTrue(conn2.getAutoCommit()); // still true
+                       conn2.setAutoCommit(false);
+                       assertFalse(conn2.getAutoCommit()); // now false
+
+                       // conn2 drops it, conn1 still sees it
+                       stmt2.executeUpdate("DROP TABLE test_autocommit");
+                       stmt.executeQuery("SELECT * FROM 
test_autocommit").close();
+                       // conn2 commits the drop, conn1 still doesn't notice
+                       conn2.commit();
+                       stmt.executeQuery("SELECT * FROM 
test_autocommit").close();
+                       // conn can even commit because it didn't change 
anything
+                       conn.commit();
+
+                       conn.setAutoCommit(true);
+               }
+       }
+
 }
 
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to