You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jena.apache.org by rv...@apache.org on 2013/04/01 23:32:41 UTC

svn commit: r1463306 - /jena/Experimental/jena-jdbc/jena-jdbc-core/src/test/java/org/apache/jena/jdbc/AbstractJenaJdbcConnectionTests.java

Author: rvesse
Date: Mon Apr  1 21:32:41 2013
New Revision: 1463306

URL: http://svn.apache.org/r1463306
Log:
Expand tests slightly to cover DESCRIBE queries

Modified:
    jena/Experimental/jena-jdbc/jena-jdbc-core/src/test/java/org/apache/jena/jdbc/AbstractJenaJdbcConnectionTests.java

Modified: jena/Experimental/jena-jdbc/jena-jdbc-core/src/test/java/org/apache/jena/jdbc/AbstractJenaJdbcConnectionTests.java
URL: http://svn.apache.org/viewvc/jena/Experimental/jena-jdbc/jena-jdbc-core/src/test/java/org/apache/jena/jdbc/AbstractJenaJdbcConnectionTests.java?rev=1463306&r1=1463305&r2=1463306&view=diff
==============================================================================
--- jena/Experimental/jena-jdbc/jena-jdbc-core/src/test/java/org/apache/jena/jdbc/AbstractJenaJdbcConnectionTests.java (original)
+++ jena/Experimental/jena-jdbc/jena-jdbc-core/src/test/java/org/apache/jena/jdbc/AbstractJenaJdbcConnectionTests.java Mon Apr  1 21:32:41 2013
@@ -293,7 +293,7 @@ public abstract class AbstractJenaJdbcCo
         ResultSet rset = stmt.executeQuery("CONSTRUCT WHERE { ?s ?p ?o }");
 
         // Check result set metadata
-        checkConstructMetadata(rset);
+        checkConstructDescribeMetadata(rset);
 
         // Check result set
         Assert.assertFalse(rset.isClosed());
@@ -350,8 +350,79 @@ public abstract class AbstractJenaJdbcCo
         conn.close();
         Assert.assertTrue(conn.isClosed());
     }
+    
+    /**
+     * Runs a CONSTRUCT query on an empty database and checks it returns empty
+     * results
+     * 
+     * @throws SQLException
+     */
+    @Test
+    public void connection_statement_query_describe_01() throws SQLException {
+        JenaJdbcConnection conn = this.getConnection();
+        Statement stmt = conn.createStatement();
+        ResultSet rset = stmt.executeQuery("DESCRIBE <http://subject>");
+
+        // Check result set metadata
+        checkConstructDescribeMetadata(rset);
+
+        // Check result set
+        Assert.assertFalse(rset.isClosed());
+        Assert.assertTrue(rset.isBeforeFirst());
+        Assert.assertFalse(rset.next());
+        Assert.assertTrue(rset.isAfterLast());
+        Assert.assertFalse(rset.isClosed());
+
+        // Close things
+        rset.close();
+        Assert.assertTrue(rset.isClosed());
+        stmt.close();
+        Assert.assertTrue(stmt.isClosed());
+        conn.close();
+        Assert.assertTrue(conn.isClosed());
+    }
+
+    /**
+     * Runs a CONSTRUCT query on a non-empty database and checks it returns
+     * non-empty results
+     * 
+     * @throws SQLException
+     */
+    @Test
+    public void connection_statement_query_describe_02() throws SQLException {
+        // Prepare a dataset
+        Dataset ds = DatasetFactory.createMem();
+        ds.asDatasetGraph().add(
+                new Quad(NodeFactory.createURI("http://graph"), NodeFactory.createURI("http://subject"), NodeFactory
+                        .createURI("http://predicate"), NodeFactory.createURI("http://object")));
+
+        // Work with the connection
+        JenaJdbcConnection conn = this.getConnection(ds);
+        Statement stmt = conn.createStatement();
+        ResultSet rset = stmt.executeQuery("DESCRIBE ?s WHERE { GRAPH ?g { ?s ?p ?o } }");
+        Assert.assertFalse(rset.isClosed());
+        Assert.assertTrue(rset.isBeforeFirst());
+
+        // Should have a row
+        Assert.assertTrue(rset.next());
+        Assert.assertTrue(rset.isFirst());
+        Assert.assertEquals(1, rset.getRow());
+
+        // Should be no further rows
+        Assert.assertFalse(rset.next());
+        Assert.assertTrue(rset.isAfterLast());
+        Assert.assertFalse(rset.isClosed());
+
+        // Close things
+        rset.close();
+        Assert.assertTrue(rset.isClosed());
+        stmt.close();
+        Assert.assertTrue(stmt.isClosed());
+        conn.close();
+        Assert.assertTrue(conn.isClosed());
+    }
 
-    protected void checkConstructMetadata(ResultSet results) throws SQLException {
+    protected void checkConstructDescribeMetadata(ResultSet results) throws SQLException {
         // Check result set metadata
         ResultSetMetaData metadata = results.getMetaData();
         Assert.assertEquals(3, metadata.getColumnCount());