refactor(phase1): 完成包名重构 (org.example → com.superbiz.agent)
Task 4.1: 包名统一重构 - 重命名 41 个 Java 文件的包名 - 更新所有 import 语句 - 恢复枚举类(FaultCategory、DiagnosisStatus、SourceType) - 更新测试类的 import 重构范围: - domain/entity: 3 个实体类 - domain/model: 2 个数据类 - domain/enums: 3 个枚举类 - repository: 3 个接口 - service/session: 2 个类(接口 + 实现) - config: 9 个配置类 - controller: 2 个控制器 - agent/tool: 4 个工具类 - client: 1 个客户端 - Main.java: 主类 验证结果: - 编译成功,无错误 - 所有测试通过 (27/27) - ApiDocumentRepositoryTest: 7/7 ✅ - CaseLibraryRepositoryTest: 6/6 ✅ - DiagnosisRecordRepositoryTest: 6/6 ✅ - RedisSessionManagerTest: 8/8 ✅ Progress: 21/33 tasks completed (64%)
This commit is contained in:
@@ -0,0 +1,244 @@
|
||||
package com.superbiz.agent.service.session;
|
||||
|
||||
import com.superbiz.agent.domain.model.SessionContext;
|
||||
import com.superbiz.agent.domain.model.ToolCall;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
import org.springframework.test.context.TestPropertySource;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.Optional;
|
||||
import java.util.UUID;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
|
||||
/**
|
||||
* RedisSessionManager 单元测试
|
||||
*/
|
||||
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.NONE)
|
||||
@TestPropertySource(properties = {
|
||||
"spring.redis.host=119.29.78.52",
|
||||
"spring.redis.port=6379",
|
||||
"spring.redis.password=!Fucker123.."
|
||||
})
|
||||
class RedisSessionManagerTest {
|
||||
|
||||
@Autowired
|
||||
private SessionManager sessionManager;
|
||||
|
||||
private String testSessionId;
|
||||
|
||||
@BeforeEach
|
||||
void setUp() {
|
||||
testSessionId = "test-session-" + UUID.randomUUID().toString();
|
||||
}
|
||||
|
||||
@Test
|
||||
void testCreateAndGetSession() {
|
||||
// 创建会话
|
||||
SessionContext context = SessionContext.builder()
|
||||
.sessionId(testSessionId)
|
||||
.userId("user-123")
|
||||
.businessId("order-456")
|
||||
.traceId("trace-789")
|
||||
.build();
|
||||
|
||||
String sessionId = sessionManager.createSession(context, 300); // 5分钟
|
||||
assertNotNull(sessionId);
|
||||
assertEquals(testSessionId, sessionId);
|
||||
System.out.println("✓ 创建会话成功: " + sessionId);
|
||||
|
||||
// 获取会话
|
||||
Optional<SessionContext> retrieved = sessionManager.getSession(testSessionId);
|
||||
assertTrue(retrieved.isPresent());
|
||||
assertEquals("user-123", retrieved.get().getUserId());
|
||||
assertEquals("ACTIVE", retrieved.get().getStatus());
|
||||
assertNotNull(retrieved.get().getCreatedAt());
|
||||
System.out.println("✓ 获取会话成功");
|
||||
|
||||
// 清理
|
||||
sessionManager.deleteSession(testSessionId);
|
||||
}
|
||||
|
||||
@Test
|
||||
void testUpdateSession() {
|
||||
// 创建会话
|
||||
SessionContext context = SessionContext.builder()
|
||||
.sessionId(testSessionId)
|
||||
.userId("user-update")
|
||||
.status("ACTIVE")
|
||||
.build();
|
||||
|
||||
sessionManager.createSession(context, 300);
|
||||
|
||||
// 获取并更新
|
||||
Optional<SessionContext> retrieved = sessionManager.getSession(testSessionId);
|
||||
assertTrue(retrieved.isPresent());
|
||||
|
||||
SessionContext toUpdate = retrieved.get();
|
||||
toUpdate.setStatus("COMPLETED");
|
||||
toUpdate.setBusinessId("updated-business-id");
|
||||
|
||||
sessionManager.updateSession(toUpdate);
|
||||
|
||||
// 验证更新
|
||||
Optional<SessionContext> updated = sessionManager.getSession(testSessionId);
|
||||
assertTrue(updated.isPresent());
|
||||
assertEquals("COMPLETED", updated.get().getStatus());
|
||||
assertEquals("updated-business-id", updated.get().getBusinessId());
|
||||
System.out.println("✓ 更新会话成功");
|
||||
|
||||
// 清理
|
||||
sessionManager.deleteSession(testSessionId);
|
||||
}
|
||||
|
||||
@Test
|
||||
void testDeleteSession() {
|
||||
// 创建会话
|
||||
SessionContext context = SessionContext.builder()
|
||||
.sessionId(testSessionId)
|
||||
.userId("user-delete")
|
||||
.build();
|
||||
|
||||
sessionManager.createSession(context, 300);
|
||||
assertTrue(sessionManager.exists(testSessionId));
|
||||
|
||||
// 删除会话
|
||||
sessionManager.deleteSession(testSessionId);
|
||||
assertFalse(sessionManager.exists(testSessionId));
|
||||
System.out.println("✓ 删除会话成功");
|
||||
}
|
||||
|
||||
@Test
|
||||
void testExists() {
|
||||
assertFalse(sessionManager.exists(testSessionId));
|
||||
|
||||
SessionContext context = SessionContext.builder()
|
||||
.sessionId(testSessionId)
|
||||
.userId("user-exists")
|
||||
.build();
|
||||
|
||||
sessionManager.createSession(context, 300);
|
||||
assertTrue(sessionManager.exists(testSessionId));
|
||||
System.out.println("✓ 会话存在性检查成功");
|
||||
|
||||
// 清理
|
||||
sessionManager.deleteSession(testSessionId);
|
||||
}
|
||||
|
||||
@Test
|
||||
void testRefreshSession() {
|
||||
// 创建会话
|
||||
SessionContext context = SessionContext.builder()
|
||||
.sessionId(testSessionId)
|
||||
.userId("user-refresh")
|
||||
.build();
|
||||
|
||||
sessionManager.createSession(context, 60); // 1分钟
|
||||
|
||||
// 刷新过期时间
|
||||
boolean refreshed = sessionManager.refreshSession(testSessionId, 600); // 延长到10分钟
|
||||
assertTrue(refreshed);
|
||||
assertTrue(sessionManager.exists(testSessionId));
|
||||
System.out.println("✓ 刷新会话过期时间成功");
|
||||
|
||||
// 清理
|
||||
sessionManager.deleteSession(testSessionId);
|
||||
}
|
||||
|
||||
@Test
|
||||
void testAddToolCall() {
|
||||
// 创建会话
|
||||
SessionContext context = SessionContext.builder()
|
||||
.sessionId(testSessionId)
|
||||
.userId("user-toolcall")
|
||||
.build();
|
||||
|
||||
sessionManager.createSession(context, 300);
|
||||
|
||||
// 添加工具调用记录
|
||||
Map<String, Object> args = new HashMap<>();
|
||||
args.put("query", "test query");
|
||||
args.put("limit", 10);
|
||||
|
||||
ToolCall toolCall = ToolCall.builder()
|
||||
.toolName("search_documents")
|
||||
.arguments(args)
|
||||
.result("found 5 documents")
|
||||
.status("SUCCESS")
|
||||
.duration(150L)
|
||||
.calledAt(LocalDateTime.now())
|
||||
.build();
|
||||
|
||||
sessionManager.addToolCall(testSessionId, toolCall);
|
||||
|
||||
// 验证工具调用已添加
|
||||
Optional<SessionContext> retrieved = sessionManager.getSession(testSessionId);
|
||||
assertTrue(retrieved.isPresent());
|
||||
assertFalse(retrieved.get().getToolCalls().isEmpty());
|
||||
assertEquals(1, retrieved.get().getToolCalls().size());
|
||||
assertEquals("search_documents", retrieved.get().getToolCalls().get(0).getToolName());
|
||||
System.out.println("✓ 添加工具调用记录成功");
|
||||
|
||||
// 清理
|
||||
sessionManager.deleteSession(testSessionId);
|
||||
}
|
||||
|
||||
@Test
|
||||
void testUpdateStatus() {
|
||||
// 创建会话
|
||||
SessionContext context = SessionContext.builder()
|
||||
.sessionId(testSessionId)
|
||||
.userId("user-status")
|
||||
.status("ACTIVE")
|
||||
.build();
|
||||
|
||||
sessionManager.createSession(context, 300);
|
||||
|
||||
// 更新状态
|
||||
sessionManager.updateStatus(testSessionId, "COMPLETED");
|
||||
|
||||
// 验证状态已更新
|
||||
Optional<SessionContext> retrieved = sessionManager.getSession(testSessionId);
|
||||
assertTrue(retrieved.isPresent());
|
||||
assertEquals("COMPLETED", retrieved.get().getStatus());
|
||||
System.out.println("✓ 更新会话状态成功");
|
||||
|
||||
// 清理
|
||||
sessionManager.deleteSession(testSessionId);
|
||||
}
|
||||
|
||||
@Test
|
||||
void testMultipleToolCalls() {
|
||||
// 创建会话
|
||||
SessionContext context = SessionContext.builder()
|
||||
.sessionId(testSessionId)
|
||||
.userId("user-multi-tools")
|
||||
.build();
|
||||
|
||||
sessionManager.createSession(context, 300);
|
||||
|
||||
// 添加多个工具调用
|
||||
for (int i = 0; i < 3; i++) {
|
||||
ToolCall toolCall = ToolCall.builder()
|
||||
.toolName("tool_" + i)
|
||||
.status("SUCCESS")
|
||||
.calledAt(LocalDateTime.now())
|
||||
.build();
|
||||
sessionManager.addToolCall(testSessionId, toolCall);
|
||||
}
|
||||
|
||||
// 验证所有工具调用
|
||||
Optional<SessionContext> retrieved = sessionManager.getSession(testSessionId);
|
||||
assertTrue(retrieved.isPresent());
|
||||
assertEquals(3, retrieved.get().getToolCalls().size());
|
||||
System.out.println("✓ 添加多个工具调用记录成功");
|
||||
|
||||
// 清理
|
||||
sessionManager.deleteSession(testSessionId);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user