Github user laurentgo commented on a diff in the pull request:
https://github.com/apache/drill/pull/1024#discussion_r149278215
--- Diff:
exec/jdbc/src/test/java/org/apache/drill/jdbc/PreparedStatementTest.java ---
@@ -237,6 +245,127 @@ public String toString() {
}
}
+ /**
+ * Test for reading of default query timeout
+ */
+ @Test
+ public void testDefaultGetQueryTimeout() throws SQLException {
+ PreparedStatement stmt = connection.prepareStatement(SYS_VERSION_SQL);
+ int timeoutValue = stmt.getQueryTimeout();
+ assert( 0 == timeoutValue );
+ }
+
+ /**
+ * Test Invalid parameter by giving negative timeout
+ */
+ @Test ( expected = InvalidParameterSqlException.class )
+ public void testInvalidSetQueryTimeout() throws SQLException {
+ PreparedStatement stmt = connection.prepareStatement(SYS_VERSION_SQL);
+ //Setting negative value
+ int valueToSet = -10;
+ if (0L == valueToSet) {
+ valueToSet--;
+ }
+ try {
+ stmt.setQueryTimeout(valueToSet);
+ } catch ( final Exception e) {
+ // TODO: handle exception
+ assertThat( e.getMessage(), containsString( "illegal timeout value")
);
+ //Converting this to match expected Exception
+ throw new InvalidParameterSqlException(e.getMessage());
+ }
+ }
+
+ /**
+ * Test setting a valid timeout
+ */
+ @Test
+ public void testValidSetQueryTimeout() throws SQLException {
+ PreparedStatement stmt = connection.prepareStatement(SYS_VERSION_SQL);
+ //Setting positive value
+ int valueToSet = new Random(System.currentTimeMillis()).nextInt(60);
--- End diff --
or you can do `new Random().nextInt(59) +1`. You should probably always use
the same seed, so it would always be the same random number, and the test would
be reproducible (but I guess you could simply choose one value by dice and
hardcode it too...)
---