From 2c1c443b3e68fafab07703eaf03116ca5fe08962 Mon Sep 17 00:00:00 2001
From: lexluo09 <39718951+lexluo09@users.noreply.github.com>
Date: Wed, 31 Jan 2024 14:28:40 +0800
Subject: [PATCH] [improvement][Headless] Remove headless build.xml and add tag
query testing. (#706)
---
launchers/headless/pom.xml | 2 +-
launchers/headless/src/main/build/build.xml | 39 -------------------
.../tencent/supersonic/headless/BaseTest.java | 8 ++--
.../supersonic/headless/ExplainTest.java | 1 +
.../supersonic/headless/QueryBySqlTest.java | 15 ++++++-
.../headless/QueryByStructTest.java | 19 ++++++++-
6 files changed, 39 insertions(+), 45 deletions(-)
delete mode 100644 launchers/headless/src/main/build/build.xml
diff --git a/launchers/headless/pom.xml b/launchers/headless/pom.xml
index 0b3128316..494184c17 100644
--- a/launchers/headless/pom.xml
+++ b/launchers/headless/pom.xml
@@ -90,7 +90,7 @@
- /src/main/build/build.xml
+ ../../assembly/build/build.xml
diff --git a/launchers/headless/src/main/build/build.xml b/launchers/headless/src/main/build/build.xml
deleted file mode 100644
index 7165bcc00..000000000
--- a/launchers/headless/src/main/build/build.xml
+++ /dev/null
@@ -1,39 +0,0 @@
-
- bin
-
- tar.gz
-
-
-
-
- ${project.basedir}/src/main/bin
- bin
- 0777
- 0755
-
-
-
- ${project.basedir}/src/main/resources
- conf
- 0777
- 0755
-
-
-
- ${project.build.directory}
- lib
-
- *.jar
-
-
-
-
-
-
- lib
- false
-
-
-
\ No newline at end of file
diff --git a/launchers/standalone/src/test/java/com/tencent/supersonic/headless/BaseTest.java b/launchers/standalone/src/test/java/com/tencent/supersonic/headless/BaseTest.java
index a15c10619..3c9d17258 100644
--- a/launchers/standalone/src/test/java/com/tencent/supersonic/headless/BaseTest.java
+++ b/launchers/standalone/src/test/java/com/tencent/supersonic/headless/BaseTest.java
@@ -43,11 +43,15 @@ public class BaseTest extends BaseApplication {
}
protected QueryStructReq buildQueryStructReq(List groups) {
+ return buildQueryStructReq(groups, QueryType.METRIC);
+ }
+
+ protected QueryStructReq buildQueryStructReq(List groups, QueryType queryType) {
QueryStructReq queryStructReq = new QueryStructReq();
for (Long modelId : DataUtils.getMetricAgentIModelIds()) {
queryStructReq.addModelId(modelId);
}
- queryStructReq.setQueryType(QueryType.METRIC);
+ queryStructReq.setQueryType(queryType);
Aggregator aggregator = new Aggregator();
aggregator.setFunc(AggOperatorEnum.SUM);
aggregator.setColumn("pv");
@@ -55,7 +59,6 @@ public class BaseTest extends BaseApplication {
if (CollectionUtils.isNotEmpty(groups)) {
queryStructReq.setGroups(groups);
- queryStructReq.setGroups(Arrays.asList("department"));
}
DateConf dateConf = new DateConf();
@@ -71,5 +74,4 @@ public class BaseTest extends BaseApplication {
queryStructReq.setOrders(orders);
return queryStructReq;
}
-
}
diff --git a/launchers/standalone/src/test/java/com/tencent/supersonic/headless/ExplainTest.java b/launchers/standalone/src/test/java/com/tencent/supersonic/headless/ExplainTest.java
index af28a96dd..9f232407d 100644
--- a/launchers/standalone/src/test/java/com/tencent/supersonic/headless/ExplainTest.java
+++ b/launchers/standalone/src/test/java/com/tencent/supersonic/headless/ExplainTest.java
@@ -45,4 +45,5 @@ public class ExplainTest extends BaseTest {
assertTrue(explain.getSql().contains("department"));
assertTrue(explain.getSql().contains("pv"));
}
+
}
diff --git a/launchers/standalone/src/test/java/com/tencent/supersonic/headless/QueryBySqlTest.java b/launchers/standalone/src/test/java/com/tencent/supersonic/headless/QueryBySqlTest.java
index 4a2a3a819..7045fc640 100644
--- a/launchers/standalone/src/test/java/com/tencent/supersonic/headless/QueryBySqlTest.java
+++ b/launchers/standalone/src/test/java/com/tencent/supersonic/headless/QueryBySqlTest.java
@@ -3,6 +3,7 @@ package com.tencent.supersonic.headless;
import static java.time.LocalDate.now;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertThrows;
+import static org.junit.Assert.assertTrue;
import com.tencent.supersonic.auth.api.authentication.pojo.User;
import com.tencent.supersonic.common.pojo.QueryColumn;
@@ -12,6 +13,18 @@ import org.junit.jupiter.api.Test;
public class QueryBySqlTest extends BaseTest {
+ @Test
+ public void testDetailQuery() throws Exception {
+ SemanticQueryResp semanticQueryResp = queryBySql("SELECT 用户,访问次数 FROM 超音数PVUV统计 WHERE 用户='alice' ");
+
+ assertEquals(2, semanticQueryResp.getColumns().size());
+ QueryColumn firstColumn = semanticQueryResp.getColumns().get(0);
+ assertEquals("用户", firstColumn.getName());
+ QueryColumn secondColumn = semanticQueryResp.getColumns().get(1);
+ assertEquals("访问次数", secondColumn.getName());
+ assertTrue(semanticQueryResp.getResultList().size() > 0);
+ }
+
@Test
public void testSumQuery() throws Exception {
SemanticQueryResp semanticQueryResp = queryBySql("SELECT SUM(访问次数) AS 访问次数 FROM 超音数PVUV统计 ");
@@ -62,7 +75,7 @@ public class QueryBySqlTest extends BaseTest {
public void testCacheQuery() throws Exception {
SemanticQueryResp result1 = queryBySql("SELECT 部门, SUM(访问次数) AS 访问次数 FROM 超音数PVUV统计 GROUP BY 部门 ");
SemanticQueryResp result2 = queryBySql("SELECT 部门, SUM(访问次数) AS 访问次数 FROM 超音数PVUV统计 GROUP BY 部门 ");
- assertEquals(result1, result2);
+ assertTrue(result1 == result2);
}
@Test
diff --git a/launchers/standalone/src/test/java/com/tencent/supersonic/headless/QueryByStructTest.java b/launchers/standalone/src/test/java/com/tencent/supersonic/headless/QueryByStructTest.java
index eceb42887..4efb811d2 100644
--- a/launchers/standalone/src/test/java/com/tencent/supersonic/headless/QueryByStructTest.java
+++ b/launchers/standalone/src/test/java/com/tencent/supersonic/headless/QueryByStructTest.java
@@ -3,11 +3,13 @@ package com.tencent.supersonic.headless;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertThrows;
+import static org.junit.Assert.assertTrue;
import com.tencent.supersonic.auth.api.authentication.pojo.User;
import com.tencent.supersonic.common.pojo.Filter;
import com.tencent.supersonic.common.pojo.QueryColumn;
import com.tencent.supersonic.common.pojo.enums.FilterOperatorEnum;
+import com.tencent.supersonic.common.pojo.enums.QueryType;
import com.tencent.supersonic.common.pojo.exception.InvalidPermissionException;
import com.tencent.supersonic.headless.api.pojo.request.QueryStructReq;
import com.tencent.supersonic.headless.api.pojo.response.SemanticQueryResp;
@@ -18,6 +20,21 @@ import org.junit.jupiter.api.Test;
public class QueryByStructTest extends BaseTest {
+ @Test
+ public void testDetailQuery() throws Exception {
+ QueryStructReq queryStructReq = buildQueryStructReq(Arrays.asList("user_name", "department"),
+ QueryType.TAG);
+ SemanticQueryResp semanticQueryResp = queryService.queryByReq(queryStructReq, User.getFakeUser());
+ assertEquals(3, semanticQueryResp.getColumns().size());
+ QueryColumn firstColumn = semanticQueryResp.getColumns().get(0);
+ assertEquals("用户", firstColumn.getName());
+ QueryColumn secondColumn = semanticQueryResp.getColumns().get(1);
+ assertEquals("部门", secondColumn.getName());
+ QueryColumn thirdColumn = semanticQueryResp.getColumns().get(2);
+ assertEquals("访问次数", thirdColumn.getName());
+ assertTrue(semanticQueryResp.getResultList().size() > 0);
+ }
+
@Test
public void testSumQuery() throws Exception {
QueryStructReq queryStructReq = buildQueryStructReq(null);
@@ -68,7 +85,7 @@ public class QueryByStructTest extends BaseTest {
QueryStructReq queryStructReq2 = buildQueryStructReq(Arrays.asList("department"));
SemanticQueryResp result1 = queryService.queryByReq(queryStructReq1, User.getFakeUser());
SemanticQueryResp result2 = queryService.queryByReq(queryStructReq2, User.getFakeUser());
- assertEquals(result1, result2);
+ assertTrue(result1 == result2);
}
@Test