@Test public void testInvalidQueries() { String[] timeInstants = getTimeInstants(); String inputTimeRange = getLastTwoDaysTimeRange(timeInstants[0], timeInstants[1]); for (final InvalidQuery invalidQuery : IN_VALID_QUERIES) { String formattedActualQuery = String.format(invalidQuery.hql, inputTimeRange); try { DruidVisitor.rewrite(druidDriverConfig, hiveConf, formattedActualQuery); Assert.fail("The invalid query" + invalidQuery.name + "did NOT suffer any exception"); } catch (Throwable e) { continue; } } }
@Test public void testQueryTranslation() throws LensException { String[] timeInstants = getTimeInstants(); String inputTimeRange = getLastTwoDaysTimeRange(timeInstants[0], timeInstants[1]); String outputTimeRange = getLastTwoDaysJodaTimeRange(timeInstants[0], timeInstants[1]); for (final ValidQuery query : VALID_QUERIES) { String formattedActualQuery = String.format(query.hql, inputTimeRange); String formattedExpectedQuery = String.format(query.expectedJson.toString().replace("\"", ""), outputTimeRange); String actualQuery = DruidVisitor.rewrite(druidDriverConfig, hiveConf, formattedActualQuery).toString(); log.info("Actual : " + actualQuery); log.info("Expected : " + formattedExpectedQuery); Assert.assertEquals( actualQuery, formattedExpectedQuery, "Test case '" + query.name + "' failed."); } }