75 lines
2.6 KiB
Java
75 lines
2.6 KiB
Java
package com.wecom.robot.dto.ai;
|
|
|
|
import com.wecom.robot.dto.InboundMessage;
|
|
import com.wecom.robot.dto.SignatureInfo;
|
|
import org.junit.jupiter.api.Test;
|
|
|
|
import java.util.Arrays;
|
|
import java.util.HashMap;
|
|
import java.util.Map;
|
|
|
|
import static org.junit.jupiter.api.Assertions.*;
|
|
|
|
class ChatRequestTest {
|
|
|
|
@Test
|
|
void testChatRequestBuilder() {
|
|
ChatMessage msg1 = ChatMessage.userMessage("Hello");
|
|
ChatMessage msg2 = ChatMessage.assistantMessage("Hi there!");
|
|
|
|
Map<String, Object> metadata = new HashMap<>();
|
|
metadata.put("key", "value");
|
|
|
|
ChatRequest request = ChatRequest.builder()
|
|
.sessionId("session-123")
|
|
.currentMessage("How are you?")
|
|
.channelType(InboundMessage.CHANNEL_WECHAT)
|
|
.history(Arrays.asList(msg1, msg2))
|
|
.metadata(metadata)
|
|
.build();
|
|
|
|
assertEquals("session-123", request.getSessionId());
|
|
assertEquals("How are you?", request.getCurrentMessage());
|
|
assertEquals(InboundMessage.CHANNEL_WECHAT, request.getChannelType());
|
|
assertEquals(2, request.getHistory().size());
|
|
assertEquals("value", request.getMetadata().get("key"));
|
|
}
|
|
|
|
@Test
|
|
void testFromInboundMessage() {
|
|
InboundMessage inbound = InboundMessage.builder()
|
|
.channelType(InboundMessage.CHANNEL_WECHAT)
|
|
.channelMessageId("msg-123")
|
|
.sessionKey("session-key-001")
|
|
.customerId("customer-001")
|
|
.kfId("kf-001")
|
|
.content("Hello AI")
|
|
.build();
|
|
|
|
ChatRequest request = ChatRequest.fromInboundMessage(inbound);
|
|
|
|
assertEquals("session-key-001", request.getSessionId());
|
|
assertEquals("Hello AI", request.getCurrentMessage());
|
|
assertEquals(InboundMessage.CHANNEL_WECHAT, request.getChannelType());
|
|
}
|
|
|
|
@Test
|
|
void testFromInboundMessageWithHistory() {
|
|
InboundMessage inbound = InboundMessage.builder()
|
|
.sessionKey("session-002")
|
|
.content("New message")
|
|
.channelType(InboundMessage.CHANNEL_DOUYIN)
|
|
.build();
|
|
|
|
ChatMessage history1 = ChatMessage.userMessage("Previous");
|
|
ChatMessage history2 = ChatMessage.assistantMessage("Response");
|
|
|
|
ChatRequest request = ChatRequest.fromInboundMessage(inbound, Arrays.asList(history1, history2));
|
|
|
|
assertEquals("session-002", request.getSessionId());
|
|
assertEquals("New message", request.getCurrentMessage());
|
|
assertEquals(InboundMessage.CHANNEL_DOUYIN, request.getChannelType());
|
|
assertEquals(2, request.getHistory().size());
|
|
}
|
|
}
|