You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by kr...@apache.org on 2016/05/06 13:58:32 UTC

lucene-solr:branch_6x: SOLR-8184: Negative tests for JDBC Connection String

Repository: lucene-solr
Updated Branches:
  refs/heads/branch_6x ed1db6d20 -> 219ddbb99


SOLR-8184: Negative tests for JDBC Connection String


Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/219ddbb9
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/219ddbb9
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/219ddbb9

Branch: refs/heads/branch_6x
Commit: 219ddbb998cf0e011c087e7a0629908f40dd0d5d
Parents: ed1db6d
Author: Kevin Risden <kr...@apache.org>
Authored: Fri May 6 08:39:00 2016 -0500
Committer: Kevin Risden <kr...@apache.org>
Committed: Fri May 6 08:58:13 2016 -0500

----------------------------------------------------------------------
 solr/CHANGES.txt                                 |  4 +++-
 .../solr/client/solrj/io/sql/JdbcDriverTest.java |  6 ++++++
 .../solr/client/solrj/io/sql/JdbcTest.java       | 19 ++++++++++++++++++-
 3 files changed, 27 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/219ddbb9/solr/CHANGES.txt
----------------------------------------------------------------------
diff --git a/solr/CHANGES.txt b/solr/CHANGES.txt
index 06ba91a..c92d5ac 100644
--- a/solr/CHANGES.txt
+++ b/solr/CHANGES.txt
@@ -222,10 +222,12 @@ Other Changes
 
 * SOLR-9053: Upgrade commons-fileupload to 1.3.1, fixing a potential vulnerability (Jeff Field, Mike Drob via janhoy)
 
-* SOLR-9066 Make CountMetric return long instead of double (Kevin Risden)
+* SOLR-9066: Make CountMetric return long instead of double (Kevin Risden)
 
 * SOLR-9065: Migrate SolrJ distributed tests to SolrCloudTestCase. (Alan Woodward)
 
+* SOLR-8184: Negative tests for JDBC Connection String (Susheel Kumar, Jason Gerlowski, Kevin Risden)
+
 ==================  6.0.0 ==================
 
 Consult the LUCENE_CHANGES.txt file for additional, low level, changes in this release

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/219ddbb9/solr/solrj/src/test/org/apache/solr/client/solrj/io/sql/JdbcDriverTest.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/io/sql/JdbcDriverTest.java b/solr/solrj/src/test/org/apache/solr/client/solrj/io/sql/JdbcDriverTest.java
index 3b2d089..e9e262c 100644
--- a/solr/solrj/src/test/org/apache/solr/client/solrj/io/sql/JdbcDriverTest.java
+++ b/solr/solrj/src/test/org/apache/solr/client/solrj/io/sql/JdbcDriverTest.java
@@ -54,6 +54,12 @@ public class JdbcDriverTest extends SolrTestCaseJ4 {
     Connection con = DriverManager.getConnection("jdbc:solr://", new Properties());
   }
 
+  @Test(expected = SQLException.class)
+  public void testConnectionStringJumbled() throws Exception {
+    final String sampleZkHost="zoo1:9983/foo";
+    DriverManager.getConnection("solr:jdbc://" + sampleZkHost + "?collection=collection1", new Properties());
+  }
+
   @Test
   public void testProcessUrl() throws Exception {
     DriverImpl driver = new DriverImpl();

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/219ddbb9/solr/solrj/src/test/org/apache/solr/client/solrj/io/sql/JdbcTest.java
----------------------------------------------------------------------
diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/io/sql/JdbcTest.java b/solr/solrj/src/test/org/apache/solr/client/solrj/io/sql/JdbcTest.java
index 1829c70..728a24b 100644
--- a/solr/solrj/src/test/org/apache/solr/client/solrj/io/sql/JdbcTest.java
+++ b/solr/solrj/src/test/org/apache/solr/client/solrj/io/sql/JdbcTest.java
@@ -22,6 +22,7 @@ import java.sql.DriverManager;
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
 import java.sql.ResultSetMetaData;
+import java.sql.SQLException;
 import java.sql.Statement;
 import java.sql.Types;
 import java.util.ArrayList;
@@ -398,7 +399,6 @@ public class JdbcTest extends SolrCloudTestCase {
 
   @Test
   public void testErrorPropagation() throws Exception {
-
     //Test error propagation
     Properties props = new Properties();
     props.put("aggregationMode", "facet");
@@ -412,7 +412,24 @@ public class JdbcTest extends SolrCloudTestCase {
         }
       }
     }
+  }
 
+  @Test
+  public void testSQLExceptionThrownWhenQueryAndConnUseDiffCollections() throws Exception  {
+    String badCollection = COLLECTION + "bad";
+    String connectionString = "jdbc:solr://" + zkHost + "?collection=" + badCollection;
+    String sql = "select id, a_i, a_s, a_f from " + badCollection + " order by a_i desc limit 2";
+
+    //Bad connection string: wrong collection name
+    try(Connection connection = DriverManager.getConnection(connectionString)) {
+      try (Statement statement = connection.createStatement()) {
+        try (ResultSet ignored = statement.executeQuery(sql)) {
+          fail("Expected query against wrong collection to throw a SQLException.");
+        }
+      }
+    } catch (SQLException ignore) {
+      // Expected exception due to miss matched collection
+    }
   }
 
   @Test