You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kylin.apache.org by li...@apache.org on 2017/02/21 09:29:22 UTC
kylin git commit: minor, refactor ITKylinQueryTest,
move select * queries to sql files
Repository: kylin
Updated Branches:
refs/heads/master 36f716f3a -> 7ce3a153c
minor, refactor ITKylinQueryTest, move select * queries to sql files
Project: http://git-wip-us.apache.org/repos/asf/kylin/repo
Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/7ce3a153
Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/7ce3a153
Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/7ce3a153
Branch: refs/heads/master
Commit: 7ce3a153cdb63b874e68b29518cd6bb0836a9d57
Parents: 36f716f
Author: Li Yang <li...@apache.org>
Authored: Tue Feb 21 17:29:13 2017 +0800
Committer: Li Yang <li...@apache.org>
Committed: Tue Feb 21 17:29:13 2017 +0800
----------------------------------------------------------------------
.../apache/kylin/query/ITKylinQueryTest.java | 9 +---
.../org/apache/kylin/query/KylinTestBase.java | 43 +++++++++++++++-----
.../resources/query/sql_verifyCount/query01.sql | 19 +++++++++
.../query/sql_verifyCount/query01.sql.expected | 2 +
.../resources/query/sql_verifyCount/query03.sql | 22 ++++++++++
.../query/sql_verifyCount/query03.sql.expected | 2 +
.../query/sql_verifyCount/query04.sql.expected | 1 +
7 files changed, 79 insertions(+), 19 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/kylin/blob/7ce3a153/kylin-it/src/test/java/org/apache/kylin/query/ITKylinQueryTest.java
----------------------------------------------------------------------
diff --git a/kylin-it/src/test/java/org/apache/kylin/query/ITKylinQueryTest.java b/kylin-it/src/test/java/org/apache/kylin/query/ITKylinQueryTest.java
index d30371a..842ce40 100644
--- a/kylin-it/src/test/java/org/apache/kylin/query/ITKylinQueryTest.java
+++ b/kylin-it/src/test/java/org/apache/kylin/query/ITKylinQueryTest.java
@@ -210,7 +210,7 @@ public class ITKylinQueryTest extends KylinTestBase {
@Test
public void testVerifyCountQuery() throws Exception {
- verifyResultRowCount(getQueryFolderPrefix() + "src/test/resources/query/sql_verifyCount");
+ verifyResultRowColCount(getQueryFolderPrefix() + "src/test/resources/query/sql_verifyCount");
}
@Test
@@ -393,13 +393,6 @@ public class ITKylinQueryTest extends KylinTestBase {
}
@Test
- public void testSelectStarColumnCount() throws Exception {
- execAndCompColumnCount("select * from test_kylin_fact limit 10", 11);
- execAndCompColumnCount("select * from test_kylin_fact", 11);
- execAndCompColumnCount("select * from test_kylin_fact left join edw.test_cal_dt on test_kylin_fact.cal_dt = edw.test_cal_dt.CAL_DT limit 10", 13);
- }
-
- @Test
public void testPercentileQuery() throws Exception {
batchExecuteQuery(getQueryFolderPrefix() + "src/test/resources/query/sql_percentile");
}
http://git-wip-us.apache.org/repos/asf/kylin/blob/7ce3a153/kylin-it/src/test/java/org/apache/kylin/query/KylinTestBase.java
----------------------------------------------------------------------
diff --git a/kylin-it/src/test/java/org/apache/kylin/query/KylinTestBase.java b/kylin-it/src/test/java/org/apache/kylin/query/KylinTestBase.java
index d83ad75..402aaa0 100644
--- a/kylin-it/src/test/java/org/apache/kylin/query/KylinTestBase.java
+++ b/kylin-it/src/test/java/org/apache/kylin/query/KylinTestBase.java
@@ -46,6 +46,7 @@ import java.util.logging.LogManager;
import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.KylinConfig;
import org.apache.kylin.common.util.HBaseMetadataTestCase;
+import org.apache.kylin.common.util.Pair;
import org.apache.kylin.metadata.project.ProjectInstance;
import org.apache.kylin.query.relnode.OLAPContext;
import org.apache.kylin.query.routing.rules.RemoveBlackoutRealizationsRule;
@@ -233,7 +234,7 @@ public class KylinTestBase {
for (int i = 0; i < columnNames.length; i++) {
columnNames[i] = queryTable.getTableMetaData().getColumns()[i].getColumnName();
}
-
+
queryTable = new SortedTable(queryTable, columnNames);
}
if (PRINT_RESULT)
@@ -337,7 +338,7 @@ public class KylinTestBase {
}
}
- protected void verifyResultRowCount(String queryFolder) throws Exception {
+ protected void verifyResultRowColCount(String queryFolder) throws Exception {
printInfo("---------- verify result count in folder: " + queryFolder);
List<File> sqlFiles = getFilesFromFolder(new File(queryFolder), ".sql");
@@ -346,7 +347,9 @@ public class KylinTestBase {
String sql = getTextFromFile(sqlFile);
File expectResultFile = new File(sqlFile.getParent(), sqlFile.getName() + ".expected");
- int expectRowCount = Integer.parseInt(Files.readFirstLine(expectResultFile, Charset.defaultCharset()));
+ Pair<Integer, Integer> pair = getExpectedRowAndCol(expectResultFile);
+ int expectRowCount = pair.getFirst();
+ int expectColCount = pair.getSecond();
// execute Kylin
printInfo("Query Result from Kylin - " + queryName + " (" + queryFolder + ")");
@@ -354,11 +357,29 @@ public class KylinTestBase {
ITable kylinTable = executeQuery(kylinConn, queryName, sql, false);
// compare the result
- Assert.assertEquals(queryName, expectRowCount, kylinTable.getRowCount());
- // assertTableEquals(expectRowCount, kylinTable.getRowCount());
+ if (expectRowCount >= 0)
+ Assert.assertEquals(queryName, expectRowCount, kylinTable.getRowCount());
+
+ if (expectColCount >= 0)
+ Assert.assertEquals(queryName, expectColCount, kylinTable.getTableMetaData().getColumns().length);
}
}
+ private Pair<Integer, Integer> getExpectedRowAndCol(File expectResultFile) throws IOException {
+ List<String> lines = Files.readLines(expectResultFile, Charset.forName("UTF-8"));
+ int row = -1;
+ int col = -1;
+ try {
+ row = Integer.parseInt(lines.get(0).trim());
+ } catch (Exception ex) {
+ }
+ try {
+ col = Integer.parseInt(lines.get(1).trim());
+ } catch (Exception ex) {
+ }
+ return Pair.newPair(row, col);
+ }
+
protected void verifyResultContent(String queryFolder) throws Exception {
printInfo("---------- verify result content in folder: " + queryFolder);
@@ -370,7 +391,7 @@ public class KylinTestBase {
File expectResultFile = new File(sqlFile.getParent(), sqlFile.getName() + ".expected.xml");
IDataSet expect = new FlatXmlDataSetBuilder().build(expectResultFile);
// Get expected table named "expect". FIXME Only support default table name
- ITable expectTable = expect.getTable("expect");
+ ITable expectTable = expect.getTable("expect");
// execute Kylin
printInfo("Query Result from Kylin - " + queryName + " (" + queryFolder + ")");
@@ -421,13 +442,13 @@ public class KylinTestBase {
protected void execAndCompColumnCount(String input, int expectedColumnCount) throws Exception {
printInfo("---------- test column count: " + input);
Set<String> sqlSet = ImmutableSet.of(input);
-
+
for (String sql : sqlSet) {
// execute Kylin
printInfo("Query Result from Kylin - " + sql);
IDatabaseConnection kylinConn = new DatabaseConnection(cubeConnection);
ITable kylinTable = executeQuery(kylinConn, sql, sql, false);
-
+
try {
// compare the result
Assert.assertEquals(expectedColumnCount, kylinTable.getTableMetaData().getColumns().length);
@@ -437,7 +458,7 @@ public class KylinTestBase {
}
}
}
-
+
protected void execLimitAndValidate(String queryFolder) throws Exception {
printInfo("---------- test folder: " + new File(queryFolder).getAbsolutePath());
@@ -543,13 +564,13 @@ public class KylinTestBase {
assertTableEquals(h2Table, kylinTable);
}
}
-
+
protected void assertTableEquals(ITable h2Table, ITable kylinTable) throws DatabaseUnitException {
HackedDbUnitAssert dbUnit = new HackedDbUnitAssert();
dbUnit.hackIgnoreIntBigIntMismatch();
dbUnit.assertEquals(h2Table, kylinTable);
}
-
+
protected void assertTableContains(ITable h2Table, ITable kylinTable) throws DatabaseUnitException {
HackedDbUnitAssert dbUnit = new HackedDbUnitAssert();
dbUnit.hackIgnoreIntBigIntMismatch();
http://git-wip-us.apache.org/repos/asf/kylin/blob/7ce3a153/kylin-it/src/test/resources/query/sql_verifyCount/query01.sql
----------------------------------------------------------------------
diff --git a/kylin-it/src/test/resources/query/sql_verifyCount/query01.sql b/kylin-it/src/test/resources/query/sql_verifyCount/query01.sql
new file mode 100644
index 0000000..ae25894
--- /dev/null
+++ b/kylin-it/src/test/resources/query/sql_verifyCount/query01.sql
@@ -0,0 +1,19 @@
+--
+-- Licensed to the Apache Software Foundation (ASF) under one
+-- or more contributor license agreements. See the NOTICE file
+-- distributed with this work for additional information
+-- regarding copyright ownership. The ASF licenses this file
+-- to you under the Apache License, Version 2.0 (the
+-- "License"); you may not use this file except in compliance
+-- with the License. You may obtain a copy of the License at
+--
+-- http://www.apache.org/licenses/LICENSE-2.0
+--
+-- Unless required by applicable law or agreed to in writing, software
+-- distributed under the License is distributed on an "AS IS" BASIS,
+-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+-- See the License for the specific language governing permissions and
+-- limitations under the License.
+--
+
+select * from test_kylin_fact
http://git-wip-us.apache.org/repos/asf/kylin/blob/7ce3a153/kylin-it/src/test/resources/query/sql_verifyCount/query01.sql.expected
----------------------------------------------------------------------
diff --git a/kylin-it/src/test/resources/query/sql_verifyCount/query01.sql.expected b/kylin-it/src/test/resources/query/sql_verifyCount/query01.sql.expected
new file mode 100644
index 0000000..86242f2
--- /dev/null
+++ b/kylin-it/src/test/resources/query/sql_verifyCount/query01.sql.expected
@@ -0,0 +1,2 @@
+*
+11
http://git-wip-us.apache.org/repos/asf/kylin/blob/7ce3a153/kylin-it/src/test/resources/query/sql_verifyCount/query03.sql
----------------------------------------------------------------------
diff --git a/kylin-it/src/test/resources/query/sql_verifyCount/query03.sql b/kylin-it/src/test/resources/query/sql_verifyCount/query03.sql
new file mode 100644
index 0000000..93ef871
--- /dev/null
+++ b/kylin-it/src/test/resources/query/sql_verifyCount/query03.sql
@@ -0,0 +1,22 @@
+--
+-- Licensed to the Apache Software Foundation (ASF) under one
+-- or more contributor license agreements. See the NOTICE file
+-- distributed with this work for additional information
+-- regarding copyright ownership. The ASF licenses this file
+-- to you under the Apache License, Version 2.0 (the
+-- "License"); you may not use this file except in compliance
+-- with the License. You may obtain a copy of the License at
+--
+-- http://www.apache.org/licenses/LICENSE-2.0
+--
+-- Unless required by applicable law or agreed to in writing, software
+-- distributed under the License is distributed on an "AS IS" BASIS,
+-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+-- See the License for the specific language governing permissions and
+-- limitations under the License.
+--
+
+select *
+from
+test_kylin_fact left join edw.test_cal_dt on test_kylin_fact.cal_dt = edw.test_cal_dt.CAL_DT
+limit 10
http://git-wip-us.apache.org/repos/asf/kylin/blob/7ce3a153/kylin-it/src/test/resources/query/sql_verifyCount/query03.sql.expected
----------------------------------------------------------------------
diff --git a/kylin-it/src/test/resources/query/sql_verifyCount/query03.sql.expected b/kylin-it/src/test/resources/query/sql_verifyCount/query03.sql.expected
new file mode 100644
index 0000000..093e327
--- /dev/null
+++ b/kylin-it/src/test/resources/query/sql_verifyCount/query03.sql.expected
@@ -0,0 +1,2 @@
+10
+13
http://git-wip-us.apache.org/repos/asf/kylin/blob/7ce3a153/kylin-it/src/test/resources/query/sql_verifyCount/query04.sql.expected
----------------------------------------------------------------------
diff --git a/kylin-it/src/test/resources/query/sql_verifyCount/query04.sql.expected b/kylin-it/src/test/resources/query/sql_verifyCount/query04.sql.expected
index 29d6383..71011db 100644
--- a/kylin-it/src/test/resources/query/sql_verifyCount/query04.sql.expected
+++ b/kylin-it/src/test/resources/query/sql_verifyCount/query04.sql.expected
@@ -1 +1,2 @@
100
+11