Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion app/src/main/resources/sql/mysql/init_data_for_test.sql

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -102,8 +102,7 @@ public void controllerAspect() {
*/
@Before("controllerAspect()")
public void doBefore(JoinPoint joinPoint) {
logger.debug("Method: {}",
(joinPoint.getTarget().getClass().getName() + "." + joinPoint.getSignature().getName()));
logger.debug("Method: {}", joinPoint.getSignature().getName());
}

/**
Expand All @@ -114,13 +113,7 @@ public void doBefore(JoinPoint joinPoint) {
*/
@AfterThrowing(pointcut = "serviceAspect()", throwing = "e")
public void doAfterThrowing(JoinPoint joinPoint, Throwable e) {
logger.error("Method:"
+ (joinPoint.getTarget().getClass().getName() + "." + joinPoint.getSignature().getName() + "()"));
logger.error("Exception ClassName:" + e.getClass().getName());
logger.error("Method: {}", joinPoint.getSignature().getName());
logger.error("Exception Message:" + e.getMessage());
logger.error("Exception Stack:");
for (StackTraceElement element : e.getStackTrace()) {
logger.error("\t" + element.toString());
}
}
}
25 changes: 8 additions & 17 deletions base/src/main/java/com/tinyengine/it/common/utils/Utils.java
Original file line number Diff line number Diff line change
Expand Up @@ -5,18 +5,18 @@
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
import com.tinyengine.it.model.dto.FileInfo;

import cn.hutool.core.io.FileUtil;
import lombok.extern.slf4j.Slf4j;

import org.springframework.web.multipart.MultipartFile;

import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStream;
import java.nio.charset.Charset;
import java.nio.file.Files;
import java.nio.file.Path;
import java.util.ArrayList;
Expand Down Expand Up @@ -71,14 +71,7 @@ public static <T> List<T> removeDuplicates(List<T> list) {
*/
// 查找最大版本
public static String findMaxVersion(List<String> versions) {
return versions.stream()
.max(Comparator.comparing(
version -> Arrays.stream(version.split("\\."))
.mapToInt(Integer::parseInt).toArray(),
Comparator.comparingInt((int[] arr) -> arr[0])
.thenComparingInt(arr -> arr[1])
.thenComparingInt(arr -> arr[2])))
.orElse(null);
return versions.stream().max(Comparator.comparing(version -> Arrays.stream(version.split("\\.")).mapToInt(Integer::parseInt).toArray(), Comparator.comparingInt((int[] arr) -> arr[0]).thenComparingInt(arr -> arr[1]).thenComparingInt(arr -> arr[2]))).orElse(null);
}

/**
Expand Down Expand Up @@ -261,15 +254,13 @@ private static void extractFile(ZipInputStream zis, File newFile) throws IOExcep
*
* @param file the file
* @return String the String
* @throws IOException IOException
*/
private static String readFileContent(File file) throws IOException {
public static String readFileContent(File file) {
List<String> lines = FileUtil.readLines(file, Charset.defaultCharset());

StringBuilder contentBuilder = new StringBuilder();
try (BufferedReader br = new BufferedReader(new FileReader(file))) {
String line;
while ((line = br.readLine()) != null) {
contentBuilder.append(line).append(System.lineSeparator());
}
for (String line : lines) {
contentBuilder.append(line).append(System.lineSeparator());
}
return contentBuilder.toString();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
import com.tinyengine.it.model.dto.OpenAiBodyDto;

import lombok.extern.slf4j.Slf4j;
import reactor.core.publisher.Mono;

import org.springframework.http.HttpMethod;
import org.springframework.web.reactive.function.client.WebClient;
Expand All @@ -25,7 +26,7 @@
@Slf4j
public class AiChatClient {
private final Map<String, AiChatConfig.AiChatConfigData> config;
private final WebClient webClient;
private WebClient webClient;

/**
* Instantiates a new Ai chat client.
Expand Down Expand Up @@ -70,12 +71,14 @@ public Map<String, Object> executeChatRequest(OpenAiBodyDto openAiBodyDto) {
}
}

return requestSpec.retrieve().bodyToMono(String.class).map(response -> {
Mono<String> stringMono = requestSpec.retrieve().bodyToMono(String.class);
return stringMono.map(response ->
{
try {
return new ObjectMapper().readValue(response, new TypeReference<Map<String, Object>>() {});
} catch (JsonProcessingException e) {
throw new ServiceException(CM322.getResultCode(), e.getMessage());
}
}).block(); // 等待结果
}).block(); // 等待结果
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -346,14 +346,6 @@ public Result<I18nFileResult> readSingleFileAndBulkCreate(MultipartFile file, in
@SystemServiceLog(description = "readFilesAndbulkCreate 批量上传词条数据")
@Override
public Result<I18nFileResult> readFilesAndbulkCreate(String lang, MultipartFile file, int host) throws Exception {
try (InputStream inputStream = file.getInputStream()) {
BufferedReader reader = new BufferedReader(new InputStreamReader((inputStream), StandardCharsets.UTF_8));
StringBuilder sb = new StringBuilder();
String line;
while ((line = reader.readLine()) != null) {
sb.append(line);
}
}
Result<EntriesItem> parseJsonFileStreamResult = parseJsonFileStream(file);
// 解析 JSON 数据
if (!parseJsonFileStreamResult.isSuccess()) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -359,8 +359,7 @@ public List<Integer> getBlockHistoryIdBySemver(List<BlockVersionDto> blocksVersi
// 遍历区块历史记录 综合信息映射关系
Set<String> keySet = blocksVersionMap.keySet();
for (Iterator<String> it = keySet.iterator(); it.hasNext(); ) {
String key = it.next();
Map<String, Object> keyMap = blocksVersionMap.get(key);
Map<String, Object> keyMap = blocksVersionMap.get(it.next());

// 获取 "versions" 字段并确保它是 List<String> 类型
List<String> versions = null;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -61,5 +61,31 @@ public String controllerLog() {
return "ControllerLog";
}
}

@Test
void testServiceAspect() {
systemLogAspect.serviceAspect();
}

@Test
void testControllerAspect() {
systemLogAspect.controllerAspect();
}

@Test
void testDoBefore() {
JoinPoint joinPoint = Mockito.mock(JoinPoint.class);
MethodSignature signature = Mockito.mock(MethodSignature.class);
when(joinPoint.getSignature()).thenReturn(signature);
systemLogAspect.doBefore(joinPoint);
}

@Test
void testDoAfterThrowing() {
JoinPoint joinPoint = Mockito.mock(JoinPoint.class);
MethodSignature signature = Mockito.mock(MethodSignature.class);
when(joinPoint.getSignature()).thenReturn(signature);
systemLogAspect.doAfterThrowing(joinPoint, new Throwable("message"));
}
}

31 changes: 26 additions & 5 deletions base/src/test/java/com/tinyengine/it/common/utils/UtilsTest.java
Original file line number Diff line number Diff line change
@@ -1,10 +1,13 @@
package com.tinyengine.it.common.utils;

import static org.assertj.core.api.Assertions.assertThat;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertTrue;

import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;

import java.io.File;
import java.net.URL;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
Expand Down Expand Up @@ -32,27 +35,45 @@ void removeDuplicates() {
@Test
void testFindMaxVersion() {
String result = Utils.findMaxVersion(Arrays.<String>asList("versions"));
Assertions.assertEquals("versions", result);
assertEquals("versions", result);
}

@Test
void testToHump() {
String result = Utils.toHump("name");
Assertions.assertEquals("name", result);
assertEquals("name", result);
}

@Test
void testToLine() {
String result = Utils.toLine("name");
Assertions.assertEquals("name", result);
assertEquals("name", result);
}

@Test
void testConvert() {
Map<String, Object> mapData = new HashMap();
mapData.put("key", "value");
Map<String, Object> result = Utils.convert(mapData);
Assertions.assertEquals("value", result.get("key"));
assertEquals("value", result.get("key"));
}

@Test
void testFlat() {
Map<String, Object> mapData = new HashMap();
mapData.put("key", "value");
Map<String, Object> flat = Utils.flat(mapData);
assertTrue(flat.keySet().contains("key"));
}

@Test
void testReadFileContent() {
URL resource = UtilsTest.class.getClassLoader().getResource("testFile.txt");
if (resource != null) {
File file = new File(resource.getFile());
String fileContent = Utils.readFileContent(file);
assertEquals("abc" + System.lineSeparator(), fileContent);
}
}
}

Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@
import com.tinyengine.it.model.dto.AiMessages;
import com.tinyengine.it.model.dto.OpenAiBodyDto;

import reactor.core.publisher.Mono;

import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
Expand Down Expand Up @@ -51,16 +53,20 @@ void testExecuteChatRequest() {
put("headers", "headers");
}
};
String modelName = "gpt-3.5-turbo";
AiChatConfig.HttpRequestOption option =
new AiChatConfig.HttpRequestOption("POST", "json", "json", 100);
AiChatConfig.AiChatConfigData configData =
new AiChatConfig.AiChatConfigData("httpRequestUrl", option, headers, null);

String modelName = "model";
when(config.get(modelName)).thenReturn(configData);

WebClient.RequestBodyUriSpec bodyUriSpec =
Mockito.mock(WebClient.RequestBodyUriSpec.class, RETURNS_DEEP_STUBS);
Mono<String> mono = Mockito.mock(Mono.class, RETURNS_DEEP_STUBS);
Map<String, Object> result = new HashMap<>();
when(mono.map(any()).block()).thenReturn(result);
when(bodyUriSpec.retrieve().bodyToMono(String.class)).thenReturn(mono);
when(webClient.method(any(HttpMethod.class))).thenReturn(bodyUriSpec);
WebClient.RequestHeadersSpec<?> requestSpec =
Mockito.mock(WebClient.RequestHeadersSpec.class, RETURNS_DEEP_STUBS);
Expand All @@ -69,8 +75,8 @@ void testExecuteChatRequest() {

AiMessages aiMessages = new AiMessages();
OpenAiBodyDto param = new OpenAiBodyDto(modelName, Arrays.asList(aiMessages));
Map<String, Object> result = aiChatClient.executeChatRequest(param);
Assertions.assertTrue(result.isEmpty());
Map<String, Object> returnData = aiChatClient.executeChatRequest(param);
Assertions.assertNull(returnData);
}
}

1 change: 1 addition & 0 deletions base/src/test/resources/testFile.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
abc