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());