mirror of
https://github.com/tencentmusic/supersonic.git
synced 2026-04-29 12:34:28 +08:00
(improvement)[build] Use Spotless to customize the code formatting (#1750)
This commit is contained in:
@@ -3,4 +3,5 @@ package com.tencent.supersonic;
|
||||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
|
||||
@SpringBootTest(classes = {StandaloneLauncher.class})
|
||||
public class BaseApplication {}
|
||||
public class BaseApplication {
|
||||
}
|
||||
|
||||
@@ -29,23 +29,19 @@ public class BaseTest extends BaseApplication {
|
||||
protected final String endDay = LocalDate.now().toString();
|
||||
protected final DatePeriodEnum period = DatePeriodEnum.DAY;
|
||||
|
||||
@Autowired protected ChatQueryService chatQueryService;
|
||||
@Autowired protected AgentService agentService;
|
||||
@Autowired
|
||||
protected ChatQueryService chatQueryService;
|
||||
@Autowired
|
||||
protected AgentService agentService;
|
||||
|
||||
protected QueryResult submitMultiTurnChat(String queryText, Integer agentId, Integer chatId)
|
||||
throws Exception {
|
||||
ParseResp parseResp = submitParse(queryText, agentId, chatId);
|
||||
|
||||
SemanticParseInfo semanticParseInfo = parseResp.getSelectedParses().get(0);
|
||||
ChatExecuteReq request =
|
||||
ChatExecuteReq.builder()
|
||||
.queryText(parseResp.getQueryText())
|
||||
.user(DataUtils.getUser())
|
||||
.parseId(semanticParseInfo.getId())
|
||||
.queryId(parseResp.getQueryId())
|
||||
.chatId(chatId)
|
||||
.saveAnswer(true)
|
||||
.build();
|
||||
ChatExecuteReq request = ChatExecuteReq.builder().queryText(parseResp.getQueryText())
|
||||
.user(DataUtils.getUser()).parseId(semanticParseInfo.getId())
|
||||
.queryId(parseResp.getQueryId()).chatId(chatId).saveAnswer(true).build();
|
||||
QueryResult queryResult = chatQueryService.performExecution(request);
|
||||
queryResult.setChatContext(semanticParseInfo);
|
||||
return queryResult;
|
||||
@@ -56,16 +52,9 @@ public class BaseTest extends BaseApplication {
|
||||
ParseResp parseResp = submitParse(queryText, agentId, chatId);
|
||||
|
||||
SemanticParseInfo parseInfo = parseResp.getSelectedParses().get(0);
|
||||
ChatExecuteReq request =
|
||||
ChatExecuteReq.builder()
|
||||
.queryText(parseResp.getQueryText())
|
||||
.user(DataUtils.getUser())
|
||||
.parseId(parseInfo.getId())
|
||||
.agentId(agentId)
|
||||
.chatId(chatId)
|
||||
.queryId(parseResp.getQueryId())
|
||||
.saveAnswer(false)
|
||||
.build();
|
||||
ChatExecuteReq request = ChatExecuteReq.builder().queryText(parseResp.getQueryText())
|
||||
.user(DataUtils.getUser()).parseId(parseInfo.getId()).agentId(agentId)
|
||||
.chatId(chatId).queryId(parseResp.getQueryId()).saveAnswer(false).build();
|
||||
|
||||
QueryResult result = chatQueryService.performExecution(request);
|
||||
result.setChatContext(parseInfo);
|
||||
@@ -79,16 +68,10 @@ public class BaseTest extends BaseApplication {
|
||||
}
|
||||
|
||||
protected void assertSchemaElements(Set<SchemaElement> expected, Set<SchemaElement> actual) {
|
||||
Set<String> expectedNames =
|
||||
expected.stream()
|
||||
.map(s -> s.getName())
|
||||
.filter(s -> s != null)
|
||||
.collect(Collectors.toSet());
|
||||
Set<String> actualNames =
|
||||
actual.stream()
|
||||
.map(s -> s.getName())
|
||||
.filter(s -> s != null)
|
||||
.collect(Collectors.toSet());
|
||||
Set<String> expectedNames = expected.stream().map(s -> s.getName()).filter(s -> s != null)
|
||||
.collect(Collectors.toSet());
|
||||
Set<String> actualNames = actual.stream().map(s -> s.getName()).filter(s -> s != null)
|
||||
.collect(Collectors.toSet());
|
||||
|
||||
assertEquals(expectedNames, actualNames);
|
||||
}
|
||||
@@ -104,8 +87,8 @@ public class BaseTest extends BaseApplication {
|
||||
assertSchemaElements(expectedParseInfo.getMetrics(), actualParseInfo.getMetrics());
|
||||
assertSchemaElements(expectedParseInfo.getDimensions(), actualParseInfo.getDimensions());
|
||||
|
||||
assertEquals(
|
||||
expectedParseInfo.getDimensionFilters(), actualParseInfo.getDimensionFilters());
|
||||
assertEquals(expectedParseInfo.getDimensionFilters(),
|
||||
actualParseInfo.getDimensionFilters());
|
||||
assertEquals(expectedParseInfo.getMetricFilters(), actualParseInfo.getMetricFilters());
|
||||
|
||||
assertEquals(expectedParseInfo.getDateInfo(), actualParseInfo.getDateInfo());
|
||||
|
||||
@@ -36,12 +36,9 @@ public class DetailTest extends BaseTest {
|
||||
DataUtils.getFilter("singer_name", FilterOperatorEnum.EQUALS, "周杰伦", "歌手名", 8L);
|
||||
expectedParseInfo.getDimensionFilters().add(dimensionFilter);
|
||||
|
||||
expectedParseInfo
|
||||
.getDimensions()
|
||||
.addAll(
|
||||
Lists.newArrayList(
|
||||
SchemaElement.builder().name("流派").build(),
|
||||
SchemaElement.builder().name("代表作").build()));
|
||||
expectedParseInfo.getDimensions()
|
||||
.addAll(Lists.newArrayList(SchemaElement.builder().name("流派").build(),
|
||||
SchemaElement.builder().name("代表作").build()));
|
||||
|
||||
assertQueryResult(expectedResult, actualResult);
|
||||
}
|
||||
@@ -63,14 +60,11 @@ public class DetailTest extends BaseTest {
|
||||
expectedParseInfo.getDimensionFilters().add(dimensionFilter);
|
||||
|
||||
expectedParseInfo.getMetrics().add(SchemaElement.builder().name("播放量").build());
|
||||
expectedParseInfo
|
||||
.getDimensions()
|
||||
.addAll(
|
||||
Lists.newArrayList(
|
||||
SchemaElement.builder().name("歌手名").build(),
|
||||
SchemaElement.builder().name("活跃区域").build(),
|
||||
SchemaElement.builder().name("流派").build(),
|
||||
SchemaElement.builder().name("代表作").build()));
|
||||
expectedParseInfo.getDimensions()
|
||||
.addAll(Lists.newArrayList(SchemaElement.builder().name("歌手名").build(),
|
||||
SchemaElement.builder().name("活跃区域").build(),
|
||||
SchemaElement.builder().name("流派").build(),
|
||||
SchemaElement.builder().name("代表作").build()));
|
||||
|
||||
assertQueryResult(expectedResult, actualResult);
|
||||
}
|
||||
@@ -92,14 +86,11 @@ public class DetailTest extends BaseTest {
|
||||
expectedParseInfo.getDimensionFilters().add(dimensionFilter);
|
||||
|
||||
expectedParseInfo.getMetrics().add(SchemaElement.builder().name("播放量").build());
|
||||
expectedParseInfo
|
||||
.getDimensions()
|
||||
.addAll(
|
||||
Lists.newArrayList(
|
||||
SchemaElement.builder().name("歌手名").build(),
|
||||
SchemaElement.builder().name("活跃区域").build(),
|
||||
SchemaElement.builder().name("流派").build(),
|
||||
SchemaElement.builder().name("代表作").build()));
|
||||
expectedParseInfo.getDimensions()
|
||||
.addAll(Lists.newArrayList(SchemaElement.builder().name("歌手名").build(),
|
||||
SchemaElement.builder().name("活跃区域").build(),
|
||||
SchemaElement.builder().name("流派").build(),
|
||||
SchemaElement.builder().name("代表作").build()));
|
||||
|
||||
assertQueryResult(expectedResult, actualResult);
|
||||
}
|
||||
|
||||
@@ -38,11 +38,8 @@ public class MetricTest extends BaseTest {
|
||||
expectedParseInfo.setAggType(NONE);
|
||||
|
||||
expectedParseInfo.getMetrics().add(DataUtils.getSchemaElement("访问次数"));
|
||||
expectedParseInfo
|
||||
.getDimensionFilters()
|
||||
.add(
|
||||
DataUtils.getFilter(
|
||||
"user_name", FilterOperatorEnum.EQUALS, "alice", "用户", 2L));
|
||||
expectedParseInfo.getDimensionFilters().add(
|
||||
DataUtils.getFilter("user_name", FilterOperatorEnum.EQUALS, "alice", "用户", 2L));
|
||||
|
||||
expectedParseInfo.setDateInfo(
|
||||
DataUtils.getDateConf(DateConf.DateMode.BETWEEN, unit, period, startDay, endDay));
|
||||
@@ -65,9 +62,8 @@ public class MetricTest extends BaseTest {
|
||||
expectedParseInfo.getMetrics().add(DataUtils.getSchemaElement("访问次数"));
|
||||
expectedParseInfo.getDimensions().add(DataUtils.getSchemaElement("部门"));
|
||||
|
||||
expectedParseInfo.setDateInfo(
|
||||
DataUtils.getDateConf(
|
||||
DateConf.DateMode.BETWEEN, 7, DatePeriodEnum.DAY, startDay, endDay));
|
||||
expectedParseInfo.setDateInfo(DataUtils.getDateConf(DateConf.DateMode.BETWEEN, 7,
|
||||
DatePeriodEnum.DAY, startDay, endDay));
|
||||
expectedParseInfo.setQueryType(QueryType.AGGREGATE);
|
||||
|
||||
assertQueryResult(expectedResult, actualResult);
|
||||
@@ -158,11 +154,8 @@ public class MetricTest extends BaseTest {
|
||||
expectedParseInfo.setAggType(NONE);
|
||||
|
||||
expectedParseInfo.getMetrics().add(DataUtils.getSchemaElement("访问次数"));
|
||||
expectedParseInfo
|
||||
.getDimensionFilters()
|
||||
.add(
|
||||
DataUtils.getFilter(
|
||||
"user_name", FilterOperatorEnum.EQUALS, "alice", "用户", 2L));
|
||||
expectedParseInfo.getDimensionFilters().add(
|
||||
DataUtils.getFilter("user_name", FilterOperatorEnum.EQUALS, "alice", "用户", 2L));
|
||||
|
||||
expectedParseInfo.setDateInfo(
|
||||
DataUtils.getDateConf(DateConf.DateMode.BETWEEN, 1, period, startDay, startDay));
|
||||
|
||||
@@ -17,9 +17,8 @@ public class MultiTurnsTest extends BaseTest {
|
||||
@Test
|
||||
@Order(1)
|
||||
public void queryTest_01() throws Exception {
|
||||
QueryResult actualResult =
|
||||
submitMultiTurnChat(
|
||||
"alice的访问次数", DataUtils.metricAgentId, DataUtils.MULTI_TURNS_CHAT_ID);
|
||||
QueryResult actualResult = submitMultiTurnChat("alice的访问次数", DataUtils.metricAgentId,
|
||||
DataUtils.MULTI_TURNS_CHAT_ID);
|
||||
|
||||
QueryResult expectedResult = new QueryResult();
|
||||
SemanticParseInfo expectedParseInfo = new SemanticParseInfo();
|
||||
@@ -30,11 +29,8 @@ public class MultiTurnsTest extends BaseTest {
|
||||
|
||||
expectedParseInfo.getMetrics().add(DataUtils.getSchemaElement("访问次数"));
|
||||
|
||||
expectedParseInfo
|
||||
.getDimensionFilters()
|
||||
.add(
|
||||
DataUtils.getFilter(
|
||||
"user_name", FilterOperatorEnum.EQUALS, "alice", "用户", 2L));
|
||||
expectedParseInfo.getDimensionFilters().add(
|
||||
DataUtils.getFilter("user_name", FilterOperatorEnum.EQUALS, "alice", "用户", 2L));
|
||||
|
||||
expectedParseInfo.setDateInfo(
|
||||
DataUtils.getDateConf(DateConf.DateMode.BETWEEN, unit, period, startDay, endDay));
|
||||
@@ -46,9 +42,8 @@ public class MultiTurnsTest extends BaseTest {
|
||||
@Test
|
||||
@Order(2)
|
||||
public void queryTest_02() throws Exception {
|
||||
QueryResult actualResult =
|
||||
submitMultiTurnChat(
|
||||
"停留时长呢", DataUtils.metricAgentId, DataUtils.MULTI_TURNS_CHAT_ID);
|
||||
QueryResult actualResult = submitMultiTurnChat("停留时长呢", DataUtils.metricAgentId,
|
||||
DataUtils.MULTI_TURNS_CHAT_ID);
|
||||
|
||||
QueryResult expectedResult = new QueryResult();
|
||||
SemanticParseInfo expectedParseInfo = new SemanticParseInfo();
|
||||
@@ -59,11 +54,8 @@ public class MultiTurnsTest extends BaseTest {
|
||||
|
||||
expectedParseInfo.getMetrics().add(DataUtils.getSchemaElement("停留时长"));
|
||||
|
||||
expectedParseInfo
|
||||
.getDimensionFilters()
|
||||
.add(
|
||||
DataUtils.getFilter(
|
||||
"user_name", FilterOperatorEnum.EQUALS, "alice", "用户", 2L));
|
||||
expectedParseInfo.getDimensionFilters().add(
|
||||
DataUtils.getFilter("user_name", FilterOperatorEnum.EQUALS, "alice", "用户", 2L));
|
||||
|
||||
expectedParseInfo.setDateInfo(
|
||||
DataUtils.getDateConf(DateConf.DateMode.BETWEEN, unit, period, startDay, endDay));
|
||||
@@ -75,9 +67,8 @@ public class MultiTurnsTest extends BaseTest {
|
||||
@Test
|
||||
@Order(3)
|
||||
public void queryTest_03() throws Exception {
|
||||
QueryResult actualResult =
|
||||
submitMultiTurnChat(
|
||||
"lucy的如何", DataUtils.metricAgentId, DataUtils.MULTI_TURNS_CHAT_ID);
|
||||
QueryResult actualResult = submitMultiTurnChat("lucy的如何", DataUtils.metricAgentId,
|
||||
DataUtils.MULTI_TURNS_CHAT_ID);
|
||||
|
||||
QueryResult expectedResult = new QueryResult();
|
||||
SemanticParseInfo expectedParseInfo = new SemanticParseInfo();
|
||||
@@ -88,8 +79,7 @@ public class MultiTurnsTest extends BaseTest {
|
||||
|
||||
expectedParseInfo.getMetrics().add(DataUtils.getSchemaElement("停留时长"));
|
||||
|
||||
expectedParseInfo
|
||||
.getDimensionFilters()
|
||||
expectedParseInfo.getDimensionFilters()
|
||||
.add(DataUtils.getFilter("user_name", FilterOperatorEnum.EQUALS, "lucy", "用户", 2L));
|
||||
|
||||
expectedParseInfo.setDateInfo(
|
||||
|
||||
@@ -35,9 +35,8 @@ public class Text2SQLEval extends BaseTest {
|
||||
for (Long duration : durations) {
|
||||
total_duration += duration;
|
||||
}
|
||||
System.out.println(
|
||||
String.format(
|
||||
"Avg Duration: %d seconds", total_duration / 1000 / durations.size()));
|
||||
System.out.println(String.format("Avg Duration: %d seconds",
|
||||
total_duration / 1000 / durations.size()));
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -119,11 +118,8 @@ public class Text2SQLEval extends BaseTest {
|
||||
QueryResult result = submitNewChat("过去半个月核心用户的总停留时长", agentId);
|
||||
durations.add(System.currentTimeMillis() - start);
|
||||
assert result.getQueryColumns().size() >= 1;
|
||||
assert result.getQueryColumns().stream()
|
||||
.filter(c -> c.getName().contains("停留时长"))
|
||||
.collect(Collectors.toList())
|
||||
.size()
|
||||
== 1;
|
||||
assert result.getQueryColumns().stream().filter(c -> c.getName().contains("停留时长"))
|
||||
.collect(Collectors.toList()).size() == 1;
|
||||
assert result.getQueryResults().size() >= 1;
|
||||
}
|
||||
|
||||
|
||||
@@ -27,9 +27,11 @@ import static java.time.LocalDate.now;
|
||||
|
||||
public class BaseTest extends BaseApplication {
|
||||
|
||||
@Autowired protected SemanticLayerService semanticLayerService;
|
||||
@Autowired
|
||||
protected SemanticLayerService semanticLayerService;
|
||||
|
||||
@Autowired private DomainRepository domainRepository;
|
||||
@Autowired
|
||||
private DomainRepository domainRepository;
|
||||
|
||||
protected SemanticQueryResp queryBySql(String sql) throws Exception {
|
||||
return queryBySql(sql, User.getFakeUser());
|
||||
|
||||
@@ -19,9 +19,11 @@ import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
public class DictTest extends BaseTest {
|
||||
@Autowired private DictConfMapper confMapper;
|
||||
@Autowired
|
||||
private DictConfMapper confMapper;
|
||||
|
||||
@Autowired private DictTaskService taskService;
|
||||
@Autowired
|
||||
private DictTaskService taskService;
|
||||
|
||||
@Test
|
||||
public void insertConf() {
|
||||
@@ -80,11 +82,8 @@ public class DictTest extends BaseTest {
|
||||
void testAddTask() {
|
||||
editConf();
|
||||
DictConfDO confDODb = confMapper.selectById(1L);
|
||||
DictSingleTaskReq dictTask =
|
||||
DictSingleTaskReq.builder()
|
||||
.itemId(confDODb.getItemId())
|
||||
.type(TypeEnums.DIMENSION)
|
||||
.build();
|
||||
DictSingleTaskReq dictTask = DictSingleTaskReq.builder().itemId(confDODb.getItemId())
|
||||
.type(TypeEnums.DIMENSION).build();
|
||||
taskService.addDictTask(dictTask, null);
|
||||
DictSingleTaskReq taskReq =
|
||||
DictSingleTaskReq.builder().itemId(3L).type(TypeEnums.DIMENSION).build();
|
||||
|
||||
@@ -14,7 +14,8 @@ import java.util.Collections;
|
||||
|
||||
public class MetaDiscoveryTest extends BaseTest {
|
||||
|
||||
@Autowired protected ChatLayerService chatLayerService;
|
||||
@Autowired
|
||||
protected ChatLayerService chatLayerService;
|
||||
|
||||
@Test
|
||||
public void testGetMapMeta() throws Exception {
|
||||
|
||||
@@ -15,7 +15,8 @@ import java.util.stream.Collectors;
|
||||
|
||||
public class ModelSchemaTest extends BaseTest {
|
||||
|
||||
@Autowired private ModelService modelService;
|
||||
@Autowired
|
||||
private ModelService modelService;
|
||||
|
||||
@Test
|
||||
void testGetUnAvailableItem() {
|
||||
@@ -25,10 +26,8 @@ public class ModelSchemaTest extends BaseTest {
|
||||
UnAvailableItemResp unAvailableItemResp = modelService.getUnAvailableItem(fieldRemovedReq);
|
||||
List<Long> expectedUnAvailableMetricId = Lists.newArrayList(1L, 4L);
|
||||
List<Long> actualUnAvailableMetricId =
|
||||
unAvailableItemResp.getMetricResps().stream()
|
||||
.map(MetricResp::getId)
|
||||
.sorted(Comparator.naturalOrder())
|
||||
.collect(Collectors.toList());
|
||||
unAvailableItemResp.getMetricResps().stream().map(MetricResp::getId)
|
||||
.sorted(Comparator.naturalOrder()).collect(Collectors.toList());
|
||||
Assertions.assertEquals(expectedUnAvailableMetricId, actualUnAvailableMetricId);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -15,7 +15,8 @@ import static org.junit.Assert.assertThrows;
|
||||
|
||||
public class QueryByMetricTest extends BaseTest {
|
||||
|
||||
@Autowired protected MetricService metricService;
|
||||
@Autowired
|
||||
protected MetricService metricService;
|
||||
|
||||
@Test
|
||||
public void testWithMetricAndDimensionBizNames() throws Exception {
|
||||
@@ -50,8 +51,7 @@ public class QueryByMetricTest extends BaseTest {
|
||||
queryMetricReq.setDomainId(2L);
|
||||
queryMetricReq.setMetricNames(Arrays.asList("stay_hours", "pv"));
|
||||
queryMetricReq.setDimensionNames(Arrays.asList("user_name", "department"));
|
||||
assertThrows(
|
||||
IllegalArgumentException.class,
|
||||
assertThrows(IllegalArgumentException.class,
|
||||
() -> queryByMetric(queryMetricReq, User.getFakeUser()));
|
||||
}
|
||||
|
||||
|
||||
@@ -53,9 +53,8 @@ public class QueryBySqlTest extends BaseTest {
|
||||
|
||||
@Test
|
||||
public void testFilterQuery() throws Exception {
|
||||
SemanticQueryResp result =
|
||||
queryBySql(
|
||||
"SELECT 部门, SUM(访问次数) AS 总访问次数 FROM 超音数PVUV统计 WHERE 部门 ='HR' GROUP BY 部门 ");
|
||||
SemanticQueryResp result = queryBySql(
|
||||
"SELECT 部门, SUM(访问次数) AS 总访问次数 FROM 超音数PVUV统计 WHERE 部门 ='HR' GROUP BY 部门 ");
|
||||
assertEquals(2, result.getColumns().size());
|
||||
QueryColumn firstColumn = result.getColumns().get(0);
|
||||
QueryColumn secondColumn = result.getColumns().get(1);
|
||||
@@ -101,19 +100,16 @@ public class QueryBySqlTest extends BaseTest {
|
||||
public void testAuthorization_model() {
|
||||
User alice = DataUtils.getUserAlice();
|
||||
setDomainNotOpenToAll();
|
||||
assertThrows(
|
||||
InvalidPermissionException.class,
|
||||
assertThrows(InvalidPermissionException.class,
|
||||
() -> queryBySql("SELECT SUM(pv) FROM 超音数PVUV统计 WHERE department ='HR'", alice));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testAuthorization_sensitive_metric() throws Exception {
|
||||
User tom = DataUtils.getUserTom();
|
||||
assertThrows(
|
||||
InvalidPermissionException.class,
|
||||
() ->
|
||||
queryBySql(
|
||||
"SELECT SUM(stay_hours) FROM 停留时长统计 WHERE department ='HR'", tom));
|
||||
assertThrows(InvalidPermissionException.class,
|
||||
() -> queryBySql("SELECT SUM(stay_hours) FROM 停留时长统计 WHERE department ='HR'",
|
||||
tom));
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -130,8 +126,7 @@ public class QueryBySqlTest extends BaseTest {
|
||||
SemanticQueryResp semanticQueryResp =
|
||||
queryBySql("SELECT SUM(pv) FROM 超音数PVUV统计 WHERE department ='HR'", tom);
|
||||
Assertions.assertNotNull(semanticQueryResp.getQueryAuthorization().getMessage());
|
||||
Assertions.assertTrue(
|
||||
semanticQueryResp.getSql().contains("user_name = 'tom'")
|
||||
|| semanticQueryResp.getSql().contains("`user_name` = 'tom'"));
|
||||
Assertions.assertTrue(semanticQueryResp.getSql().contains("user_name = 'tom'")
|
||||
|| semanticQueryResp.getSql().contains("`user_name` = 'tom'"));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -112,8 +112,7 @@ public class QueryByStructTest extends BaseTest {
|
||||
User alice = DataUtils.getUserAlice();
|
||||
setDomainNotOpenToAll();
|
||||
QueryStructReq queryStructReq1 = buildQueryStructReq(Arrays.asList("department"));
|
||||
assertThrows(
|
||||
InvalidPermissionException.class,
|
||||
assertThrows(InvalidPermissionException.class,
|
||||
() -> semanticLayerService.queryByReq(queryStructReq1, alice));
|
||||
}
|
||||
|
||||
@@ -125,8 +124,7 @@ public class QueryByStructTest extends BaseTest {
|
||||
aggregator.setColumn("stay_hours");
|
||||
QueryStructReq queryStructReq =
|
||||
buildQueryStructReq(Arrays.asList("department"), aggregator);
|
||||
assertThrows(
|
||||
InvalidPermissionException.class,
|
||||
assertThrows(InvalidPermissionException.class,
|
||||
() -> semanticLayerService.queryByReq(queryStructReq, tom));
|
||||
}
|
||||
|
||||
|
||||
@@ -19,7 +19,8 @@ import java.util.List;
|
||||
|
||||
public class QueryRuleTest extends BaseTest {
|
||||
|
||||
@Autowired private QueryRuleService queryRuleService;
|
||||
@Autowired
|
||||
private QueryRuleService queryRuleService;
|
||||
|
||||
private User user = User.getFakeUser();
|
||||
|
||||
|
||||
@@ -19,11 +19,14 @@ import java.util.stream.Collectors;
|
||||
|
||||
public class SchemaAuthTest extends BaseTest {
|
||||
|
||||
@Autowired private DomainService domainService;
|
||||
@Autowired
|
||||
private DomainService domainService;
|
||||
|
||||
@Autowired private DataSetService dataSetService;
|
||||
@Autowired
|
||||
private DataSetService dataSetService;
|
||||
|
||||
@Autowired private ModelService modelService;
|
||||
@Autowired
|
||||
private ModelService modelService;
|
||||
|
||||
@Test
|
||||
public void test_getDomainList_alice() {
|
||||
@@ -31,8 +34,7 @@ public class SchemaAuthTest extends BaseTest {
|
||||
setDomainNotOpenToAll();
|
||||
List<DomainResp> domainResps = domainService.getDomainListWithAdminAuth(user);
|
||||
List<String> expectedDomainBizNames = Lists.newArrayList("supersonic", "singer");
|
||||
Assertions.assertEquals(
|
||||
expectedDomainBizNames,
|
||||
Assertions.assertEquals(expectedDomainBizNames,
|
||||
domainResps.stream().map(DomainResp::getBizName).collect(Collectors.toList()));
|
||||
}
|
||||
|
||||
@@ -41,8 +43,7 @@ public class SchemaAuthTest extends BaseTest {
|
||||
User user = DataUtils.getUserAlice();
|
||||
List<ModelResp> modelResps = modelService.getModelListWithAuth(user, null, AuthType.ADMIN);
|
||||
List<String> expectedModelBizNames = Lists.newArrayList("user_department", "singer");
|
||||
Assertions.assertEquals(
|
||||
expectedModelBizNames,
|
||||
Assertions.assertEquals(expectedModelBizNames,
|
||||
modelResps.stream().map(ModelResp::getBizName).collect(Collectors.toList()));
|
||||
}
|
||||
|
||||
@@ -52,8 +53,7 @@ public class SchemaAuthTest extends BaseTest {
|
||||
List<ModelResp> modelResps =
|
||||
modelService.getModelListWithAuth(user, null, AuthType.VISIBLE);
|
||||
List<String> expectedModelBizNames = Lists.newArrayList("user_department", "singer");
|
||||
Assertions.assertEquals(
|
||||
expectedModelBizNames,
|
||||
Assertions.assertEquals(expectedModelBizNames,
|
||||
modelResps.stream().map(ModelResp::getBizName).collect(Collectors.toList()));
|
||||
}
|
||||
|
||||
@@ -62,8 +62,7 @@ public class SchemaAuthTest extends BaseTest {
|
||||
User user = DataUtils.getUserAlice();
|
||||
List<DataSetResp> dataSetResps = dataSetService.getDataSetsInheritAuth(user, 0L);
|
||||
List<String> expectedDataSetBizNames = Lists.newArrayList("singer");
|
||||
Assertions.assertEquals(
|
||||
expectedDataSetBizNames,
|
||||
Assertions.assertEquals(expectedDataSetBizNames,
|
||||
dataSetResps.stream().map(DataSetResp::getBizName).collect(Collectors.toList()));
|
||||
}
|
||||
|
||||
@@ -72,8 +71,7 @@ public class SchemaAuthTest extends BaseTest {
|
||||
User user = DataUtils.getUserJack();
|
||||
List<DomainResp> domainResps = domainService.getDomainListWithAdminAuth(user);
|
||||
List<String> expectedDomainBizNames = Lists.newArrayList("supersonic");
|
||||
Assertions.assertEquals(
|
||||
expectedDomainBizNames,
|
||||
Assertions.assertEquals(expectedDomainBizNames,
|
||||
domainResps.stream().map(DomainResp::getBizName).collect(Collectors.toList()));
|
||||
}
|
||||
|
||||
@@ -83,8 +81,7 @@ public class SchemaAuthTest extends BaseTest {
|
||||
List<ModelResp> modelResps = modelService.getModelListWithAuth(user, null, AuthType.ADMIN);
|
||||
List<String> expectedModelBizNames =
|
||||
Lists.newArrayList("user_department", "s2_pv_uv_statis", "s2_stay_time_statis");
|
||||
Assertions.assertEquals(
|
||||
expectedModelBizNames,
|
||||
Assertions.assertEquals(expectedModelBizNames,
|
||||
modelResps.stream().map(ModelResp::getBizName).collect(Collectors.toList()));
|
||||
}
|
||||
|
||||
@@ -93,8 +90,7 @@ public class SchemaAuthTest extends BaseTest {
|
||||
User user = DataUtils.getUserJack();
|
||||
List<DataSetResp> dataSetResps = dataSetService.getDataSetsInheritAuth(user, 0L);
|
||||
List<String> expectedDataSetBizNames = Lists.newArrayList("s2", "singer");
|
||||
Assertions.assertEquals(
|
||||
expectedDataSetBizNames,
|
||||
Assertions.assertEquals(expectedDataSetBizNames,
|
||||
dataSetResps.stream().map(DataSetResp::getBizName).collect(Collectors.toList()));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,7 +13,8 @@ import java.util.List;
|
||||
|
||||
public class TagObjectTest extends BaseTest {
|
||||
|
||||
@Autowired private TagObjectService tagObjectService;
|
||||
@Autowired
|
||||
private TagObjectService tagObjectService;
|
||||
|
||||
@Test
|
||||
void testCreateTagObject() throws Exception {
|
||||
|
||||
@@ -13,7 +13,8 @@ import org.springframework.beans.factory.annotation.Autowired;
|
||||
@TestMethodOrder(MethodOrderer.OrderAnnotation.class)
|
||||
public class TagTest extends BaseTest {
|
||||
|
||||
@Autowired private TagQueryService tagQueryService;
|
||||
@Autowired
|
||||
private TagQueryService tagQueryService;
|
||||
|
||||
@Test
|
||||
public void testQueryTagValue() throws Exception {
|
||||
|
||||
@@ -17,10 +17,9 @@ public class TranslateTest extends BaseTest {
|
||||
@Test
|
||||
public void testSqlExplain() throws Exception {
|
||||
String sql = "SELECT 部门, SUM(访问次数) AS 访问次数 FROM 超音数PVUV统计 GROUP BY 部门 ";
|
||||
SemanticTranslateResp explain =
|
||||
semanticLayerService.translate(
|
||||
QueryReqBuilder.buildS2SQLReq(sql, DataUtils.getMetricAgentView()),
|
||||
User.getFakeUser());
|
||||
SemanticTranslateResp explain = semanticLayerService.translate(
|
||||
QueryReqBuilder.buildS2SQLReq(sql, DataUtils.getMetricAgentView()),
|
||||
User.getFakeUser());
|
||||
assertNotNull(explain);
|
||||
assertNotNull(explain.getQuerySQL());
|
||||
assertTrue(explain.getQuerySQL().contains("department"));
|
||||
|
||||
@@ -51,11 +51,9 @@ public class ModelProviderTest extends BaseApplication {
|
||||
modelConfig.setEndpoint(QianfanModelFactory.DEFAULT_ENDPOINT);
|
||||
|
||||
ChatLanguageModel chatModel = ModelProvider.getChatModel(modelConfig);
|
||||
assertThrows(
|
||||
RuntimeException.class,
|
||||
() -> {
|
||||
chatModel.generate("hi");
|
||||
});
|
||||
assertThrows(RuntimeException.class, () -> {
|
||||
chatModel.generate("hi");
|
||||
});
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -67,11 +65,9 @@ public class ModelProviderTest extends BaseApplication {
|
||||
modelConfig.setApiKey("e2724491714b3b2a0274e987905f1001.5JyHgf4vbZVJ7gC5");
|
||||
|
||||
ChatLanguageModel chatModel = ModelProvider.getChatModel(modelConfig);
|
||||
assertThrows(
|
||||
RuntimeException.class,
|
||||
() -> {
|
||||
chatModel.generate("hi");
|
||||
});
|
||||
assertThrows(RuntimeException.class, () -> {
|
||||
chatModel.generate("hi");
|
||||
});
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -84,11 +80,9 @@ public class ModelProviderTest extends BaseApplication {
|
||||
modelConfig.setApiKey(ParameterConfig.DEMO);
|
||||
|
||||
ChatLanguageModel chatModel = ModelProvider.getChatModel(modelConfig);
|
||||
assertThrows(
|
||||
RuntimeException.class,
|
||||
() -> {
|
||||
chatModel.generate("hi");
|
||||
});
|
||||
assertThrows(RuntimeException.class, () -> {
|
||||
chatModel.generate("hi");
|
||||
});
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -100,11 +94,9 @@ public class ModelProviderTest extends BaseApplication {
|
||||
modelConfig.setApiKey(ParameterConfig.DEMO);
|
||||
|
||||
ChatLanguageModel chatModel = ModelProvider.getChatModel(modelConfig);
|
||||
assertThrows(
|
||||
RuntimeException.class,
|
||||
() -> {
|
||||
chatModel.generate("hi");
|
||||
});
|
||||
assertThrows(RuntimeException.class, () -> {
|
||||
chatModel.generate("hi");
|
||||
});
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -140,11 +132,9 @@ public class ModelProviderTest extends BaseApplication {
|
||||
modelConfig.setApiKey(ParameterConfig.DEMO);
|
||||
|
||||
EmbeddingModel embeddingModel = ModelProvider.getEmbeddingModel(modelConfig);
|
||||
assertThrows(
|
||||
RuntimeException.class,
|
||||
() -> {
|
||||
embeddingModel.embed("hi");
|
||||
});
|
||||
assertThrows(RuntimeException.class, () -> {
|
||||
embeddingModel.embed("hi");
|
||||
});
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -156,11 +146,9 @@ public class ModelProviderTest extends BaseApplication {
|
||||
modelConfig.setApiKey(ParameterConfig.DEMO);
|
||||
|
||||
EmbeddingModel embeddingModel = ModelProvider.getEmbeddingModel(modelConfig);
|
||||
assertThrows(
|
||||
RuntimeException.class,
|
||||
() -> {
|
||||
embeddingModel.embed("hi");
|
||||
});
|
||||
assertThrows(RuntimeException.class, () -> {
|
||||
embeddingModel.embed("hi");
|
||||
});
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -173,11 +161,9 @@ public class ModelProviderTest extends BaseApplication {
|
||||
modelConfig.setSecretKey(ParameterConfig.DEMO);
|
||||
|
||||
EmbeddingModel embeddingModel = ModelProvider.getEmbeddingModel(modelConfig);
|
||||
assertThrows(
|
||||
RuntimeException.class,
|
||||
() -> {
|
||||
embeddingModel.embed("hi");
|
||||
});
|
||||
assertThrows(RuntimeException.class, () -> {
|
||||
embeddingModel.embed("hi");
|
||||
});
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -189,10 +175,8 @@ public class ModelProviderTest extends BaseApplication {
|
||||
modelConfig.setApiKey("e2724491714b3b2a0274e987905f1001.5JyHgf4vbZVJ7gC5");
|
||||
|
||||
EmbeddingModel embeddingModel = ModelProvider.getEmbeddingModel(modelConfig);
|
||||
assertThrows(
|
||||
RuntimeException.class,
|
||||
() -> {
|
||||
embeddingModel.embed("hi");
|
||||
});
|
||||
assertThrows(RuntimeException.class, () -> {
|
||||
embeddingModel.embed("hi");
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -49,12 +49,8 @@ public class DataUtils {
|
||||
return SchemaElement.builder().name(name).build();
|
||||
}
|
||||
|
||||
public static QueryFilter getFilter(
|
||||
String bizName,
|
||||
FilterOperatorEnum filterOperatorEnum,
|
||||
Object value,
|
||||
String name,
|
||||
Long elementId) {
|
||||
public static QueryFilter getFilter(String bizName, FilterOperatorEnum filterOperatorEnum,
|
||||
Object value, String name, Long elementId) {
|
||||
QueryFilter filter = new QueryFilter();
|
||||
filter.setBizName(bizName);
|
||||
filter.setOperator(filterOperatorEnum);
|
||||
@@ -64,8 +60,8 @@ public class DataUtils {
|
||||
return filter;
|
||||
}
|
||||
|
||||
public static DateConf getDateConf(
|
||||
Integer unit, DateConf.DateMode dateMode, DatePeriodEnum period) {
|
||||
public static DateConf getDateConf(Integer unit, DateConf.DateMode dateMode,
|
||||
DatePeriodEnum period) {
|
||||
DateConf dateInfo = new DateConf();
|
||||
dateInfo.setUnit(unit);
|
||||
dateInfo.setDateMode(dateMode);
|
||||
@@ -75,12 +71,8 @@ public class DataUtils {
|
||||
return dateInfo;
|
||||
}
|
||||
|
||||
public static DateConf getDateConf(
|
||||
DateConf.DateMode dateMode,
|
||||
Integer unit,
|
||||
DatePeriodEnum period,
|
||||
String startDate,
|
||||
String endDate) {
|
||||
public static DateConf getDateConf(DateConf.DateMode dateMode, Integer unit,
|
||||
DatePeriodEnum period, String startDate, String endDate) {
|
||||
DateConf dateInfo = new DateConf();
|
||||
dateInfo.setUnit(unit);
|
||||
dateInfo.setDateMode(dateMode);
|
||||
|
||||
@@ -4,14 +4,9 @@ import com.tencent.supersonic.common.pojo.ChatModelConfig;
|
||||
|
||||
public class LLMConfigUtils {
|
||||
public enum LLMType {
|
||||
OPENAI_GPT(false),
|
||||
OPENAI_MOONSHOT(false),
|
||||
OPENAI_DEEPSEEK(false),
|
||||
OPENAI_QWEN(false),
|
||||
OPENAI_GLM(false),
|
||||
OLLAMA_LLAMA3(true),
|
||||
OLLAMA_QWEN2(true),
|
||||
OLLAMA_QWEN25(true);
|
||||
OPENAI_GPT(false), OPENAI_MOONSHOT(false), OPENAI_DEEPSEEK(false), OPENAI_QWEN(
|
||||
false), OPENAI_GLM(
|
||||
false), OLLAMA_LLAMA3(true), OLLAMA_QWEN2(true), OLLAMA_QWEN25(true);
|
||||
|
||||
private boolean isOllam;
|
||||
|
||||
@@ -70,24 +65,12 @@ public class LLMConfigUtils {
|
||||
|
||||
ChatModelConfig chatModelConfig;
|
||||
if (type.isOllam) {
|
||||
chatModelConfig =
|
||||
ChatModelConfig.builder()
|
||||
.provider("ollama")
|
||||
.baseUrl(baseUrl)
|
||||
.modelName(modelName)
|
||||
.temperature(temperature)
|
||||
.timeOut(60000L)
|
||||
.build();
|
||||
chatModelConfig = ChatModelConfig.builder().provider("ollama").baseUrl(baseUrl)
|
||||
.modelName(modelName).temperature(temperature).timeOut(60000L).build();
|
||||
} else {
|
||||
chatModelConfig =
|
||||
ChatModelConfig.builder()
|
||||
.provider("open_ai")
|
||||
.baseUrl(baseUrl)
|
||||
.apiKey(apiKey)
|
||||
.modelName(modelName)
|
||||
.temperature(temperature)
|
||||
.timeOut(60000L)
|
||||
.build();
|
||||
ChatModelConfig.builder().provider("open_ai").baseUrl(baseUrl).apiKey(apiKey)
|
||||
.modelName(modelName).temperature(temperature).timeOut(60000L).build();
|
||||
}
|
||||
|
||||
return chatModelConfig;
|
||||
|
||||
Reference in New Issue
Block a user