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

Convert Test_PSsqldata(), Test_Rsqldata() -> ApiTests#testURLType()

Those tests also tested the inet type but that has its own
tests now


diffs (287 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
@@ -1179,114 +1179,6 @@ public final class JDBC_API_Tester exten
        }
 
        @Test
-       public void Test_PSsqldata() {
-               sb.setLength(0);        // clear the output log buffer
-
-               Statement stmt = null;
-               PreparedStatement pstmt = null;
-               ResultSet rs = null;
-               try {
-                       con.setAutoCommit(false);
-                       // >> false: auto commit should be off now
-                       sb.append("0. 
false\t").append(con.getAutoCommit()).append("\n");
-
-                       stmt = con.createStatement();
-                       int updates = stmt.executeUpdate("CREATE TABLE 
table_Test_PSsqldata ( myinet inet, myurl url )");
-                       if (updates != 0)
-                               sb.append("1. Expected 0 got 
").append(updates).append(" instead\n");
-
-                       pstmt = con.prepareStatement("INSERT INTO 
table_Test_PSsqldata VALUES (?, ?)");
-                       ParameterMetaData pmd = pstmt.getParameterMetaData();
-                       sb.append(pmd.getParameterCount()).append(" 
parameters:\n");
-                       for (int parm = 1; parm <= pmd.getParameterCount(); 
parm++) {
-                               sb.append("Parm ").append(parm).append("\n");
-                               sb.append("  type      
").append(pmd.getParameterType(parm)).append("\n");
-                               sb.append("  typename  
").append(pmd.getParameterTypeName(parm)).append("\n");
-                               sb.append("  classname 
").append(pmd.getParameterClassName(parm)).append("\n");
-                       }
-
-                       INET tinet = new INET();
-                       tinet.fromString("172.5.5.5/24");
-
-                       URL turl = new URL();
-                       try {
-                               turl.fromString("http://www.monetdb.org/";);
-                       } catch (Exception e) {
-                               sb.append("conversion failed: 
").append(e.getMessage()).append("\n");
-                       }
-                       pstmt.setObject(1, tinet);
-                       pstmt.setObject(2, turl);
-                       // insert first record
-                       pstmt.execute();
-                       sb.append(pstmt.toString());    // test showing 
prepared statement
-
-                       try {
-                               tinet.setNetmaskBits(16);
-                       } catch (Exception e) {
-                               sb.append("setNetmaskBits failed: 
").append(e.getMessage()).append("\n");
-                       }
-                       // insert second record
-                       pstmt.execute();
-
-                       rs = stmt.executeQuery("SELECT * FROM 
table_Test_PSsqldata");
-                       ResultSetMetaData rsmd = rs.getMetaData();
-                       for (int i = 1; rs.next(); i++) {
-                               for (int col = 1; col <= rsmd.getColumnCount(); 
col++) {
-                                       Object x = rs.getObject(col);
-                                       if (x == null || rs.wasNull()) {
-                                               
sb.append(i).append(".\t<null>\n");
-                                       } else {
-                                               
sb.append(i).append(".\t").append(x.toString()).append("\n");
-                                               if (x instanceof INET) {
-                                                       INET inet = (INET)x;
-                                                       sb.append("  
").append(inet.getAddress()).append("/").append(inet.getNetmaskBits()).append("\n");
-                                                       sb.append("  
").append(inet.getInetAddress().toString()).append("\n");
-                                               } else if (x instanceof URL) {
-                                                       URL url = (URL)x;
-                                                       sb.append("  
").append(url.getURL().toString()).append("\n");
-                                               }
-                                       }
-                               }
-                       }
-                       con.rollback();
-                       con.setAutoCommit(true);
-                       // >> true: auto commit was just switched on
-                       sb.append("0. 
true\t").append(con.getAutoCommit()).append("\n");
-               } catch (SQLException e) {
-                       sb.append("FAILED: 
").append(e.getMessage()).append("\n");
-               }
-
-               closeStmtResSet(stmt, rs);
-               closeStmtResSet(pstmt, null);
-
-               compareExpectedOutput("Test_PSsqldata",
-                       "0. false       false\n" +
-                       "2 parameters:\n" +
-                       "Parm 1\n" +
-                       "  type      12\n" +
-                       "  typename  inet\n" +
-                       "  classname org.monetdb.jdbc.types.INET\n" +
-                       "Parm 2\n" +
-                       "  type      12\n" +
-                       "  typename  url\n" +
-                       "  classname org.monetdb.jdbc.types.URL\n" +
-                       "Prepared SQL: INSERT INTO table_Test_PSsqldata VALUES 
(?, ?)\n" +
-                       " parameter 1 inet, set value: inet '172.5.5.5/24'\n" +
-                       " parameter 2 url, set value: url 
'http://www.monetdb.org/'\n" +
-                       "1.     172.5.5.5/24\n" +
-                       "  172.5.5.5/24\n" +
-                       "  /172.5.5.5\n" +
-                       "1.     http://www.monetdb.org/\n"; +
-                       "  http://www.monetdb.org/\n"; +
-                       "2.     172.5.5.5/24\n" +
-                       "  172.5.5.5/24\n" +
-                       "  /172.5.5.5\n" +
-                       "2.     http://www.monetdb.org/\n"; +
-                       "  http://www.monetdb.org/\n"; +
-                       "0. true        true\n");
-       }
-
-       @Test
        public void Test_PStimedate() {
                sb.setLength(0);        // clear the output log buffer
 
@@ -2547,116 +2439,6 @@ public final class JDBC_API_Tester exten
        }
 
        @Test
-       public void Test_Rsqldata() {
-               sb.setLength(0);        // clear the output log buffer
-
-               Statement stmt = null;
-               ResultSet rs = null;
-               ResultSetMetaData rsmd = null;
-
-               try {
-                       con.setAutoCommit(false);
-                       // >> false: auto commit should be off now
-                       sb.append("0. 
false\t").append(con.getAutoCommit()).append("\n");
-
-                       stmt = con.createStatement();
-                       stmt.executeUpdate("CREATE TABLE Test_Rsqldata ( myinet 
inet, myurl url )");
-
-                       String InsertInto = "INSERT INTO Test_Rsqldata VALUES ";
-                       // all NULLs
-                       stmt.executeUpdate(InsertInto + "(NULL, NULL)");
-                       // all filled in
-                       stmt.executeUpdate(InsertInto + "('172.5.5.5' , 
'http://www.monetdb.org/')");
-                       stmt.executeUpdate(InsertInto + "('172.5.5.5/32' , 
'http://www.monetdb.org/Home')");
-                       stmt.executeUpdate(InsertInto + "('172.5.5.5/16' , 
'http://www.monetdb.org/Home#someanchor')");
-                       stmt.executeUpdate(InsertInto + "('172.5.5.5/26' , 
'http://www.monetdb.org/?query=bla')");
-
-                       rs = stmt.executeQuery("SELECT * FROM Test_Rsqldata");
-                       rsmd = rs.getMetaData();
-
-                       sb.append("0. ").append(rsmd.getColumnCount()).append(" 
columns:\n");
-                       for (int col = 1; col <= rsmd.getColumnCount(); col++) {
-                               sb.append(col).append("\n");
-                               sb.append("\tclassname   
").append(rsmd.getColumnClassName(col)).append("\n");
-                               sb.append("\tcatalogname 
").append(rsmd.getCatalogName(col)).append("\n");
-                               sb.append("\tschemaname  
").append(rsmd.getSchemaName(col)).append("\n");
-                               sb.append("\ttablename   
").append(rsmd.getTableName(col)).append("\n");
-                               sb.append("\tcolumnname  
").append(rsmd.getColumnName(col)).append("\n");
-                       }
-
-                       for (int i = 1; rs.next(); i++) {
-                               for (int col = 1; col <= rsmd.getColumnCount(); 
col++) {
-                                       sb.append(i).append(".\t");
-                                       Object x = rs.getObject(col);
-                                       if (x == null) {
-                                               sb.append("<null>\n");
-                                       } else {
-                                               
sb.append(x.toString()).append("\n");
-                                               if (x instanceof INET) {
-                                                       INET inet = (INET)x;
-                                                       
sb.append("\t").append(inet.getAddress()).append("/").append(inet.getNetmaskBits()).append("\n");
-                                                       
sb.append("\t").append(inet.getInetAddress().toString()).append("\n");
-                                               } else if (x instanceof URL) {
-                                                       URL url = (URL)x;
-                                                       
sb.append("\t").append(url.getURL().toString()).append("\n");
-                                               }
-                                       }
-                               }
-                       }
-
-                       rs.close();
-
-                       con.rollback();
-                       con.setAutoCommit(true);
-                       // >> true: auto commit was just switched on
-                       sb.append("0. 
true\t").append(con.getAutoCommit()).append("\n");
-               } catch (SQLException e) {
-                       sb.append("FAILED: 
").append(e.getMessage()).append("\n");
-               }
-
-               closeStmtResSet(stmt, rs);
-
-               compareExpectedOutput("Test_Rsqldata",
-                       "0. false       false\n" +
-                       "0. 2 columns:\n" +
-                       "1\n" +
-                       "       classname   org.monetdb.jdbc.types.INET\n" +
-                       "       catalogname null\n" +
-                       "       schemaname  sys\n" +
-                       "       tablename   test_rsqldata\n" +
-                       "       columnname  myinet\n" +
-                       "2\n" +
-                       "       classname   org.monetdb.jdbc.types.URL\n" +
-                       "       catalogname null\n" +
-                       "       schemaname  sys\n" +
-                       "       tablename   test_rsqldata\n" +
-                       "       columnname  myurl\n" +
-                       "1.     <null>\n" +
-                       "1.     <null>\n" +
-                       "2.     172.5.5.5\n" +
-                       "       172.5.5.5/32\n" +
-                       "       /172.5.5.5\n" +
-                       "2.     http://www.monetdb.org/\n"; +
-                       "       http://www.monetdb.org/\n"; +
-                       "3.     172.5.5.5\n" +
-                       "       172.5.5.5/32\n" +
-                       "       /172.5.5.5\n" +
-                       "3.     http://www.monetdb.org/Home\n"; +
-                       "       http://www.monetdb.org/Home\n"; +
-                       "4.     172.5.5.5/16\n" +
-                       "       172.5.5.5/16\n" +
-                       "       /172.5.5.5\n" +
-                       "4.     http://www.monetdb.org/Home#someanchor\n"; +
-                       "       http://www.monetdb.org/Home#someanchor\n"; +
-                       "5.     172.5.5.5/26\n" +
-                       "       172.5.5.5/26\n" +
-                       "       /172.5.5.5\n" +
-                       "5.     http://www.monetdb.org/?query=bla\n"; +
-                       "       http://www.monetdb.org/?query=bla\n"; +
-                       "0. true        true\n");
-       }
-
-       @Test
        public void Test_Rtimedate() {
                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
@@ -1125,4 +1125,48 @@ public class ApiTests {
                stmt.executeUpdate("DROP TABLE test_backslashes");
        }
 
+       // Converted from Test_PSsqldata() and Test_Rsqldata().
+       // These also tested the inet types but those have their
+       // own dedicated tests now.
+       @Test
+       public void testURLType() throws Exception {
+               org.monetdb.jdbc.types.URL turl = new 
org.monetdb.jdbc.types.URL();
+               // Note: the following method is declared to throw Exception
+               turl.fromString("http://www.monetdb.org/";);
+
+               conn.setAutoCommit(false);
+               try {
+                       stmt.execute("DROP TABLE IF EXISTS urltest");
+                       stmt.execute("CREATE TABLE urltest(myurl URL)");
+                       String insert = "INSERT INTO urltest VALUES (?)";
+                       try (PreparedStatement ps = 
conn.prepareStatement(insert)) {
+                               ParameterMetaData pmd = 
ps.getParameterMetaData();
+                               assertEquals(1, pmd.getParameterCount());
+                               assertEquals(Types.VARCHAR, 
pmd.getParameterType(1));
+                               assertEquals("url", 
pmd.getParameterTypeName(1));
+                               assertEquals("org.monetdb.jdbc.types.URL", 
pmd.getParameterClassName(1));
+
+                               ps.setObject(1, turl);
+                               ps.execute();
+                       }
+                       String select = "SELECT * FROM urltest";
+                       try (ResultSet rs = stmt.executeQuery(select)) {
+                               ResultSetMetaData rmd = rs.getMetaData();
+                               assertEquals("org.monetdb.jdbc.types.URL", 
rmd.getColumnClassName(1));
+                               assertEquals(null, rmd.getCatalogName(1));
+                               assertEquals("sys", rmd.getSchemaName(1));
+                               assertEquals("urltest", rmd.getTableName(1));
+                               assertEquals("myurl", rmd.getColumnName(1));
+
+                               assertTrue(rs.next());
+                               Object obj = rs.getObject(1);
+                               assertEquals("http://www.monetdb.org/";, 
obj.toString());
+                               org.monetdb.jdbc.types.URL url = 
(org.monetdb.jdbc.types.URL) obj;
+                               assertEquals("http://www.monetdb.org/";, 
url.toString());
+                       }
+               } finally {
+                       conn.rollback();
+                       conn.setAutoCommit(true);
+               }
+       }
 }
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to