Skip to content

Commit ef82147

Browse files
committed
test: consume task streams before assertions
1 parent 71dcfe3 commit ef82147

File tree

1 file changed

+4
-7
lines changed

1 file changed

+4
-7
lines changed

mcp-test/src/main/java/io/modelcontextprotocol/AbstractMcpClientServerIntegrationTests.java

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@
2222
import java.util.function.BiFunction;
2323
import java.util.function.Function;
2424
import java.util.stream.Collectors;
25-
import java.util.stream.Stream;
2625

2726
import io.modelcontextprotocol.client.McpClient;
2827
import io.modelcontextprotocol.client.McpSyncClient;
@@ -1846,8 +1845,7 @@ protected McpSyncClient createTaskClient(String clientType, String name, ClientC
18461845
}
18471846

18481847
/** Extracts the task ID from a list of response messages. */
1849-
protected String extractTaskId(Stream<ResponseMessage<CallToolResult>> messageStream) {
1850-
List<ResponseMessage<CallToolResult>> messages = messageStream.toList();
1848+
protected String extractTaskId(List<ResponseMessage<CallToolResult>> messages) {
18511849
for (var msg : messages) {
18521850
if (msg instanceof TaskCreatedMessage<CallToolResult> tcm) {
18531851
return tcm.task().taskId();
@@ -1857,8 +1855,7 @@ protected String extractTaskId(Stream<ResponseMessage<CallToolResult>> messageSt
18571855
}
18581856

18591857
/** Extracts all task statuses from a list of response messages. */
1860-
protected List<TaskStatus> extractTaskStatuses(Stream<ResponseMessage<CallToolResult>> messageStream) {
1861-
List<ResponseMessage<CallToolResult>> messages = messageStream.toList();
1858+
protected List<TaskStatus> extractTaskStatuses(List<ResponseMessage<CallToolResult>> messages) {
18621859
List<TaskStatus> statuses = new ArrayList<>();
18631860
for (var msg : messages) {
18641861
if (msg instanceof TaskCreatedMessage<CallToolResult> tcm) {
@@ -2106,7 +2103,7 @@ void testElicitationDuringTaskExecution(String clientType) throws InterruptedExc
21062103
client.initialize();
21072104

21082105
var request = new McpSchema.CallToolRequest("needs-input-tool", Map.of(), DEFAULT_TASK_METADATA, null);
2109-
var messages = client.callToolStream(request);
2106+
var messages = client.callToolStream(request).toList();
21102107
var observedStates = extractTaskStatuses(messages);
21112108

21122109
if (taskIdRef.get() != null) {
@@ -2245,7 +2242,7 @@ void testCreateTaskHandlerWithTaskMetadata(String clientType) {
22452242

22462243
// Call with task metadata - should use createTaskHandler directly
22472244
var request = new McpSchema.CallToolRequest("create-task-tool", Map.of(), DEFAULT_TASK_METADATA, null);
2248-
var messages = client.callToolStream(request);
2245+
var messages = client.callToolStream(request).toList();
22492246

22502247
assertThat(createTaskHandlerInvoked.get()).as("createTaskHandler should have been invoked").isTrue();
22512248
assertThat(messages).as("Should have response messages").isNotEmpty();

0 commit comments

Comments
 (0)