Skip to content

Commit 2b348b9

Browse files
Update session event tests to assert response content
- Change prompt to 'What is 100+200?' - Assert assistant response contains '300' - Regenerate snapshot file
1 parent e460a78 commit 2b348b9

File tree

5 files changed

+28
-7
lines changed

5 files changed

+28
-7
lines changed

dotnet/test/SessionTests.cs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -303,7 +303,7 @@ public async Task Should_Receive_Session_Events()
303303
});
304304

305305
// Send a message to trigger events
306-
await session.SendAsync(new MessageOptions { Prompt = "Hello!" });
306+
await session.SendAsync(new MessageOptions { Prompt = "What is 100+200?" });
307307

308308
// Wait for session to become idle (indicating message processing is complete)
309309
var completed = await Task.WhenAny(idleReceived.Task, Task.Delay(TimeSpan.FromSeconds(60)));
@@ -315,6 +315,11 @@ public async Task Should_Receive_Session_Events()
315315
Assert.Contains(receivedEvents, evt => evt is AssistantMessageEvent);
316316
Assert.Contains(receivedEvents, evt => evt is SessionIdleEvent);
317317

318+
// Verify the assistant response contains the expected answer
319+
var assistantMessage = await TestHelper.GetFinalAssistantMessageAsync(session);
320+
Assert.NotNull(assistantMessage);
321+
Assert.Contains("300", assistantMessage!.Data.Content);
322+
318323
await session.DisposeAsync();
319324
}
320325
}

go/e2e/session_test.go

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -637,7 +637,7 @@ func TestSession(t *testing.T) {
637637
})
638638

639639
// Send a message to trigger events
640-
_, err = session.Send(copilot.MessageOptions{Prompt: "Hello!"})
640+
_, err = session.Send(copilot.MessageOptions{Prompt: "What is 100+200?"})
641641
if err != nil {
642642
t.Fatalf("Failed to send message: %v", err)
643643
}
@@ -677,6 +677,15 @@ func TestSession(t *testing.T) {
677677
if !hasSessionIdle {
678678
t.Error("Expected to receive session.idle event")
679679
}
680+
681+
// Verify the assistant response contains the expected answer
682+
assistantMessage, err := testharness.GetFinalAssistantMessage(session, 60*time.Second)
683+
if err != nil {
684+
t.Fatalf("Failed to get assistant message: %v", err)
685+
}
686+
if assistantMessage.Data.Content == nil || !strings.Contains(*assistantMessage.Data.Content, "300") {
687+
t.Errorf("Expected assistant message to contain '300', got %v", assistantMessage.Data.Content)
688+
}
680689
})
681690
}
682691

nodejs/test/e2e/session.test.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -316,7 +316,7 @@ describe("Sessions", async () => {
316316
});
317317

318318
// Send a message to trigger events
319-
await session.send({ prompt: "Hello!" });
319+
await session.send({ prompt: "What is 100+200?" });
320320

321321
// Wait for session to become idle
322322
await Promise.race([idlePromise, new Promise((_, reject) => setTimeout(() => reject(new Error("Timeout")), 60000))]);
@@ -326,6 +326,10 @@ describe("Sessions", async () => {
326326
expect(receivedEvents.some((e) => e.type === "user.message")).toBe(true);
327327
expect(receivedEvents.some((e) => e.type === "assistant.message")).toBe(true);
328328
expect(receivedEvents.some((e) => e.type === "session.idle")).toBe(true);
329+
330+
// Verify the assistant response contains the expected answer
331+
const assistantMessage = await getFinalAssistantMessage(session);
332+
expect(assistantMessage.data.content).toContain("300");
329333
});
330334
});
331335

python/e2e/test_session.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -341,7 +341,7 @@ def on_event(event):
341341
session.on(on_event)
342342

343343
# Send a message to trigger events
344-
await session.send({"prompt": "Hello!"})
344+
await session.send({"prompt": "What is 100+200?"})
345345

346346
# Wait for session to become idle
347347
try:
@@ -356,6 +356,10 @@ def on_event(event):
356356
assert "assistant.message" in event_types
357357
assert "session.idle" in event_types
358358

359+
# Verify the assistant response contains the expected answer
360+
assistant_message = await get_final_assistant_message(session)
361+
assert "300" in assistant_message.data.content
362+
359363

360364
def _get_system_message(exchange: dict) -> str:
361365
messages = exchange.get("request", {}).get("messages", [])

test/snapshots/session/should_receive_session_events.yaml

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ conversations:
55
- role: system
66
content: ${system}
77
- role: user
8-
content: Hello!
8+
content: What is 100+200?
99
- role: assistant
10-
content: Hello! I'm GitHub Copilot CLI, your terminal assistant. How can I help you today with your software engineering
11-
tasks?
10+
content: 100 + 200 = 300

0 commit comments

Comments
 (0)