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

Convert bogus_auto_generated_keys()  -> ApiTests#testBogusAutoGeneratedKeys()


diffs (121 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
@@ -1877,89 +1877,6 @@ public final class JDBC_API_Tester exten
                                "ColumnName: GENERATED_KEY ColumnTypeName: 
bigint Precision: 19 Scale: 0 ColumnDisplaySize: 20 ColumnType: -5 
ColumnClassName: java.lang.Long isNullable: 2 isAutoIncrement: false\n");
        }
 
-       @Test
-       public void bogus_auto_generated_keys() {
-               sb.setLength(0);        // clear the output log buffer
-
-               Statement stmt = null;
-               ResultSet rs = null;
-               int upd = 0;
-               try {
-                       stmt = con.createStatement();
-                       sb.append("1. create table...");
-                       // create a simple table with an auto-generated key (id)
-                       upd = stmt.executeUpdate("CREATE TABLE bogus_gen_keys 
(\n       \"id\" serial,\n        \"x\" varchar(12)\n);");
-                       if (upd != 0)
-                               sb.append("Wrong return status: 
").append(upd).append("\n");
-                       else
-                               sb.append("passed\n");
-
-                       // perform an update, useless, but illustrates the bug, 
this time no
-                       // generated key is reported, which is correct
-                       sb.append("2. update empty table...");
-                       upd = stmt.executeUpdate("UPDATE bogus_gen_keys SET 
\"x\" = 'bla' WHERE \"id\" = 12;");
-                       if (upd != 0)
-                               sb.append("Wrong return status: 
").append(upd).append("\n");
-                       else
-                               sb.append("passed\n");
-
-                       // insert some value, should get a generated key
-                       sb.append("3. insert 1 row ...");
-                       upd = stmt.executeUpdate("INSERT INTO bogus_gen_keys 
(\"x\") VALUES ('boe');");
-                       if (upd != 1)
-                               sb.append("Wrong return status: 
").append(upd).append("\n");
-                       else
-                               sb.append("passed\n");
-
-                       sb.append("4. show values of inserted row ...");
-                       rs = stmt.executeQuery("SELECT \"id\", \"x\" from 
bogus_gen_keys;");
-                       if (rs != null && rs.next()) {
-                               sb.append(" id: 
").append(rs.getString(1)).append("  x: ").append(rs.getString(2));
-                       }
-                       sb.append("\n");
-
-                       // update again, we expect NO generated key, but we DO 
get one
-                       sb.append("5. update row 1...");
-                       upd = stmt.executeUpdate("UPDATE bogus_gen_keys SET 
\"x\" = 'bla' WHERE \"id\" = 1;");
-                       if (upd != 1)
-                               sb.append("Wrong return status: 
").append(upd).append("\n");
-                       else
-                               sb.append("passed\n");
-
-                       sb.append("6. update row 12...");
-                       upd = stmt.executeUpdate("UPDATE bogus_gen_keys SET 
\"x\" = 'bla' WHERE \"id\" = 12;");
-                       if (upd != 0)
-                               sb.append("Wrong return status: 
").append(upd).append("\n");
-                       else
-                               sb.append("passed\n");
-               } catch (SQLException e) {
-                       sb.append("FAILED: 
").append(e.getMessage()).append("\n");
-               }
-
-               // cleanup
-               try {
-                       sb.append("7. drop table...");
-                       upd = stmt.executeUpdate("DROP TABLE bogus_gen_keys");
-                       if (upd != 0)
-                               sb.append("Wrong return status: 
").append(upd).append("\n");
-                       else
-                               sb.append("passed\n");
-               } catch (SQLException e) {
-                       sb.append("FAILED: 
").append(e.getMessage()).append("\n");
-               }
-
-               closeStmtResSet(stmt, rs);
-
-               compareExpectedOutput("bogus_auto_generated_keys",
-                               "1. create table...passed\n" +
-                               "2. update empty table...passed\n" +
-                               "3. insert 1 row ...passed\n" +
-                               "4. show values of inserted row ... id: 1  x: 
boe\n" +
-                               "5. update row 1...passed\n" +
-                               "6. update row 12...passed\n" +
-                               "7. drop table...passed\n");
-       }
-
        @Test public void BugConcurrent_clients_SF_1504657() {
                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
@@ -1710,4 +1710,24 @@ public class ApiTests {
                assertInstanceOf(wrappedClass, obj, contextMessage);
                return true;
        }
+
+       @Test
+       public void testBogusAutoGeneratedKeys() throws SQLException {
+               // The name indicates the test is about generated keys but
+               // I see no calls to Statement#getGeneratedKeys() here.
+               // Don't know what's going on here.
+               startScratchTransaction();
+
+               assertEquals(0, stmt.executeUpdate("CREATE TABLE bogus_gen_keys 
(id SERIAL, x VARCHAR(12))"));
+               assertEquals(0, stmt.executeUpdate("UPDATE bogus_gen_keys SET x 
= 'bla' WHERE id = 12;"));
+               assertEquals(1, stmt.executeUpdate("INSERT INTO 
bogus_gen_keys(x) VALUES ('boe')"));
+               try (ResultSet rs = stmt.executeQuery("SELECT id, x FROM 
bogus_gen_keys")) {
+                       assertTrue(rs.next());
+                       assertEquals("1", rs.getString(1)); // why getString?
+                       assertEquals("boe", rs.getString(2));
+                       assertFalse(rs.next());
+               }
+               assertEquals(1, stmt.executeUpdate("UPDATE bogus_gen_keys SET x 
= 'bla' WHERE id = 1"));
+               assertEquals(0, stmt.executeUpdate("UPDATE bogus_gen_keys SET x 
= 'bla' WHERE id = 12"));
+       }
 }
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to