You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@drill.apache.org by sm...@apache.org on 2015/12/03 22:48:56 UTC
drill git commit: DRILL-4159: Use test framework in TestCsvHeader
Repository: drill
Updated Branches:
refs/heads/master 3ae3bf5e1 -> f4e34ccac
DRILL-4159: Use test framework in TestCsvHeader
Project: http://git-wip-us.apache.org/repos/asf/drill/repo
Commit: http://git-wip-us.apache.org/repos/asf/drill/commit/f4e34cca
Tree: http://git-wip-us.apache.org/repos/asf/drill/tree/f4e34cca
Diff: http://git-wip-us.apache.org/repos/asf/drill/diff/f4e34cca
Branch: refs/heads/master
Commit: f4e34ccac6add649df469f85e38f064962eae90a
Parents: 3ae3bf5
Author: Steven Phillips <sm...@apache.org>
Authored: Thu Dec 3 13:39:03 2015 -0800
Committer: Steven Phillips <sm...@apache.org>
Committed: Thu Dec 3 13:39:03 2015 -0800
----------------------------------------------------------------------
.../drill/exec/store/text/TestCsvHeader.java | 142 +++++++++----------
1 file changed, 66 insertions(+), 76 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/drill/blob/f4e34cca/exec/java-exec/src/test/java/org/apache/drill/exec/store/text/TestCsvHeader.java
----------------------------------------------------------------------
diff --git a/exec/java-exec/src/test/java/org/apache/drill/exec/store/text/TestCsvHeader.java b/exec/java-exec/src/test/java/org/apache/drill/exec/store/text/TestCsvHeader.java
index 0192ab8..068c30f 100644
--- a/exec/java-exec/src/test/java/org/apache/drill/exec/store/text/TestCsvHeader.java
+++ b/exec/java-exec/src/test/java/org/apache/drill/exec/store/text/TestCsvHeader.java
@@ -20,24 +20,17 @@ package org.apache.drill.exec.store.text;
import org.apache.drill.BaseTestQuery;
import org.apache.drill.TestBuilder;
import org.apache.drill.common.util.FileUtils;
-import org.apache.drill.exec.exception.SchemaChangeException;
-import org.apache.drill.exec.rpc.user.QueryDataBatch;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileOutputStream;
-import java.util.List;
import org.junit.Before;
import org.junit.Test;
-
-import static org.junit.Assert.assertEquals;
-
public class TestCsvHeader extends BaseTestQuery{
static final org.slf4j.Logger logger = org.slf4j.LoggerFactory.getLogger(TestCsvHeader.class);
- final String OUTPUT_DELIMITER = "|";
String root;
@Before
@@ -50,105 +43,110 @@ public class TestCsvHeader extends BaseTestQuery{
public void testCsvWithHeader() throws Exception {
//Pre DRILL-951: Qry: select * from dfs_test.`%s` LIMIT 2
String query = String.format("select * from dfs_test.`%s` LIMIT 2", root);
- List<QueryDataBatch> batches = testSqlWithResults(query);
-
- String expectedOutput = "Year|Make|Model|Description|Price\n" +
- "1997|Ford|E350|ac, abs, moon|3000.00\n" +
- "1999|Chevy|Venture \"Extended Edition\"||4900.00\n";
-
- validateResults (batches, expectedOutput);
+ testBuilder()
+ .sqlQuery(query)
+ .unOrdered()
+ .baselineColumns("Year", "Make", "Model", "Description", "Price")
+ .baselineValues("1997", "Ford", "E350", "ac, abs, moon", "3000.00")
+ .baselineValues("1999", "Chevy", "Venture \"Extended Edition\"", "", "4900.00")
+ .go();
}
@Test //DRILL-951
public void testCsvWhereWithHeader() throws Exception {
//Pre DRILL-951: Qry: select * from dfs_test.`%s` where columns[1] = 'Chevy'
String query = String.format("select * from dfs_test.`%s` where Make = 'Chevy'", root);
- List<QueryDataBatch> batches = testSqlWithResults(query);
- String expectedOutput = "Year|Make|Model|Description|Price\n" +
- "1999|Chevy|Venture \"Extended Edition\"||4900.00\n" +
- "1999|Chevy|Venture \"Extended Edition, Very Large\"||5000.00\n";
-
- validateResults (batches, expectedOutput);
+ testBuilder()
+ .sqlQuery(query)
+ .unOrdered()
+ .baselineColumns("Year", "Make", "Model", "Description", "Price")
+ .baselineValues("1999", "Chevy", "Venture \"Extended Edition\"", "", "4900.00")
+ .baselineValues("1999", "Chevy", "Venture \"Extended Edition, Very Large\"", "", "5000.00")
+ .go();
}
@Test //DRILL-951
public void testCsvStarPlusWithHeader() throws Exception {
//Pre DRILL-951: Qry: select *,columns[1] from dfs_test.`%s` where columns[1] = 'Chevy'
String query = String.format("select *, Make from dfs_test.`%s` where Make = 'Chevy'", root);
- List<QueryDataBatch> batches = testSqlWithResults(query);
-
- String expectedOutput = "Year|Make|Model|Description|Price|Make0\n" +
- "1999|Chevy|Venture \"Extended Edition\"||4900.00|Chevy\n" +
- "1999|Chevy|Venture \"Extended Edition, Very Large\"||5000.00|Chevy\n";
- validateResults (batches, expectedOutput);
+ testBuilder()
+ .sqlQuery(query)
+ .unOrdered()
+ .baselineColumns("Year", "Make", "Model", "Description", "Price", "Make0")
+ .baselineValues("1999", "Chevy", "Venture \"Extended Edition\"", "", "4900.00", "Chevy")
+ .baselineValues("1999", "Chevy", "Venture \"Extended Edition, Very Large\"", "", "5000.00", "Chevy")
+ .go();
}
@Test //DRILL-951
public void testCsvWhereColumnsWithHeader() throws Exception {
//Pre DRILL-951: Qry: select columns[1] from dfs_test.`%s` where columns[1] = 'Chevy'
String query = String.format("select Make from dfs_test.`%s` where Make = 'Chevy'", root);
- List<QueryDataBatch> batches = testSqlWithResults(query);
-
- String expectedOutput = "Make\n" +
- "Chevy\n" +
- "Chevy\n";
-
- validateResults (batches, expectedOutput);
+ testBuilder()
+ .sqlQuery(query)
+ .unOrdered()
+ .baselineColumns("Make")
+ .baselineValues("Chevy")
+ .baselineValues("Chevy")
+ .go();
}
@Test //DRILL-951
public void testCsvColumnsWithHeader() throws Exception {
//Pre DRILL-951: Qry: select columns[0],columns[2],columns[4] from dfs_test.`%s` where columns[1] = 'Chevy'
String query = String.format("select `Year`, Model, Price from dfs_test.`%s` where Make = 'Chevy'", root);
- List<QueryDataBatch> batches = testSqlWithResults(query);
- String expectedOutput = "Year|Model|Price\n" +
- "1999|Venture \"Extended Edition\"|4900.00\n" +
- "1999|Venture \"Extended Edition, Very Large\"|5000.00\n";
-
- validateResults (batches, expectedOutput);
+ testBuilder()
+ .sqlQuery(query)
+ .unOrdered()
+ .baselineColumns("Year", "Model", "Price")
+ .baselineValues("1999", "Venture \"Extended Edition\"", "4900.00")
+ .baselineValues("1999", "Venture \"Extended Edition, Very Large\"", "5000.00")
+ .go();
}
@Test //DRILL-951
public void testCsvHeaderShortCircuitReads() throws Exception {
String query = String.format("select `Year`, Model from dfs_test.`%s` where Make = 'Chevy'", root);
- List<QueryDataBatch> batches = testSqlWithResults(query);
-
- String expectedOutput = "Year|Model\n" +
- "1999|Venture \"Extended Edition\"\n" +
- "1999|Venture \"Extended Edition, Very Large\"\n";
- validateResults (batches, expectedOutput);
+ testBuilder()
+ .sqlQuery(query)
+ .unOrdered()
+ .baselineColumns("Year", "Model")
+ .baselineValues("1999", "Venture \"Extended Edition\"")
+ .baselineValues("1999", "Venture \"Extended Edition, Very Large\"")
+ .go();
}
@Test //DRILL-4108
public void testCsvHeaderNonExistingColumn() throws Exception {
String query = String.format("select `Year`, Model, Category from dfs_test.`%s` where Make = 'Chevy'", root);
- List<QueryDataBatch> batches = testSqlWithResults(query);
- String expectedOutput = "Year|Model|Category\n" +
- "1999|Venture \"Extended Edition\"|\n" +
- "1999|Venture \"Extended Edition, Very Large\"|\n";
-
- validateResults (batches, expectedOutput);
+ testBuilder()
+ .sqlQuery(query)
+ .unOrdered()
+ .baselineColumns("Year", "Model", "Category")
+ .baselineValues("1999", "Venture \"Extended Edition\"", "")
+ .baselineValues("1999", "Venture \"Extended Edition, Very Large\"", "")
+ .go();
}
@Test //DRILL-4108
public void testCsvHeaderMismatch() throws Exception {
String ddir = FileUtils.getResourceAsFile("/store/text/data/d2").toURI().toString();
String query = String.format("select `Year`, Model, Category from dfs_test.`%s` where Make = 'Chevy'", ddir);
- List<QueryDataBatch> batches = testSqlWithResults(query);
- // double header is unique to this test framework, doesn't happen with sqlline
- String expectedOutput = "Year|Model|Category\n" +
- "1999|Venture \"Extended Edition\"|\n" +
- "1999|Venture \"Extended Edition, Very Large\"|\n" +
- "Year|Model|Category\n" +
- "1999||Venture \"Extended Edition\"\n" +
- "1999||Venture \"Extended Edition, Very Large\"\n";
-
- validateResults (batches, expectedOutput);
+
+ testBuilder()
+ .sqlQuery(query)
+ .unOrdered()
+ .baselineColumns("Year", "Model", "Category")
+ .baselineValues("1999", "", "Venture \"Extended Edition\"")
+ .baselineValues("1999", "", "Venture \"Extended Edition, Very Large\"")
+ .baselineValues("1999", "Venture \"Extended Edition\"", "")
+ .baselineValues("1999", "Venture \"Extended Edition, Very Large\"", "")
+ .go();
}
@Test //DRILL-4108
@@ -157,13 +155,13 @@ public class TestCsvHeader extends BaseTestQuery{
// testing by defining new format plugin with skipFirstLine set to true and diff file extension
String dfile = FileUtils.getResourceAsFile("/store/text/data/cars.csvh-test").toURI().toString();
String query = String.format("select `Year`, Model from dfs_test.`%s` where Make = 'Chevy'", dfile);
- List<QueryDataBatch> batches = testSqlWithResults(query);
-
- String expectedOutput = "Year|Model\n" +
- "1999|Venture \"Extended Edition\"\n" +
- "1999|Venture \"Extended Edition, Very Large\"\n";
-
- validateResults (batches, expectedOutput);
+ testBuilder()
+ .sqlQuery(query)
+ .unOrdered()
+ .baselineColumns("Year", "Model")
+ .baselineValues("1999", "Venture \"Extended Edition\"")
+ .baselineValues("1999", "Venture \"Extended Edition, Very Large\"")
+ .go();
}
@Test
@@ -188,12 +186,4 @@ public class TestCsvHeader extends BaseTestQuery{
}
builder.go();
}
-
- private void validateResults (List<QueryDataBatch> batches, String expectedOutput) throws SchemaChangeException {
- String actualOutput = getResultString(batches, OUTPUT_DELIMITER);
- //for your and machine's eyes
- System.out.println(actualOutput);
- assertEquals(String.format("Result mismatch.\nExpected:\n%s \nReceived:\n%s",
- expectedOutput, actualOutput), expectedOutput, actualOutput);
- }
}