42 lines
1.6 KiB
Java
42 lines
1.6 KiB
Java
package com.superbiz.agent.controller;
|
|
|
|
import com.superbiz.agent.service.ChatService;
|
|
import org.junit.jupiter.api.Test;
|
|
import org.springframework.http.ResponseEntity;
|
|
import org.springframework.test.util.ReflectionTestUtils;
|
|
|
|
import static org.junit.jupiter.api.Assertions.assertEquals;
|
|
import static org.junit.jupiter.api.Assertions.assertFalse;
|
|
import static org.mockito.Mockito.mock;
|
|
import static org.mockito.Mockito.verifyNoInteractions;
|
|
|
|
class ChatControllerTest {
|
|
|
|
@Test
|
|
void blankChatRequestReturnsErrorBeforeCreatingRun() {
|
|
ChatController controller = new ChatController();
|
|
ChatService chatService = mock(ChatService.class);
|
|
ReflectionTestUtils.setField(controller, "chatService", chatService);
|
|
|
|
ChatController.ChatRequest request = new ChatController.ChatRequest();
|
|
request.setId("invalid-chat-session");
|
|
request.setQuestion(" ");
|
|
|
|
ResponseEntity<ChatController.ApiResponse<ChatController.ChatResponse>> response = controller.chat(request);
|
|
|
|
ChatController.ChatResponse body = response.getBody().getData();
|
|
assertFalse(body.isSuccess());
|
|
assertEquals("问题内容不能为空", body.getErrorMessage());
|
|
verifyNoInteractions(chatService);
|
|
}
|
|
|
|
@Test
|
|
void aiOpsMetadataMessageCarriesSessionAndRunId() {
|
|
ChatController.SseMessage message = ChatController.SseMessage.metadata("session-1", "run-1");
|
|
|
|
assertEquals("metadata", message.getType());
|
|
assertEquals("session-1", message.getSessionId());
|
|
assertEquals("run-1", message.getRunId());
|
|
}
|
|
}
|