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]