From d2193615a1641e2080e80015cc9990fffb56b393 Mon Sep 17 00:00:00 2001 From: Stephen Toub Date: Mon, 4 May 2026 15:49:15 -0400 Subject: [PATCH] Stabilize unknown session delete E2E assertions Assert the SDK-level delete failure prefix instead of the runtime-specific detail text so the tests pass against runtimes with different unknown-session wording. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- dotnet/test/E2E/ClientSessionManagementE2ETests.cs | 5 +++-- go/internal/e2e/client_api_e2e_test.go | 8 +++++--- nodejs/test/e2e/client_api.e2e.test.ts | 5 +++-- python/e2e/test_client_api_e2e.py | 5 +++-- 4 files changed, 14 insertions(+), 9 deletions(-) diff --git a/dotnet/test/E2E/ClientSessionManagementE2ETests.cs b/dotnet/test/E2E/ClientSessionManagementE2ETests.cs index 0792246c7..f2d54a1d5 100644 --- a/dotnet/test/E2E/ClientSessionManagementE2ETests.cs +++ b/dotnet/test/E2E/ClientSessionManagementE2ETests.cs @@ -35,10 +35,11 @@ public async Task Should_Delete_Session_By_Id() public async Task Should_Report_Error_When_Deleting_Unknown_Session_Id() { await Client.StartAsync(); + const string UnknownSessionId = "00000000-0000-0000-0000-000000000000"; await AssertFailureAsync( - () => Client.DeleteSessionAsync("00000000-0000-0000-0000-000000000000"), - "Session file not found"); + () => Client.DeleteSessionAsync(UnknownSessionId), + $"Failed to delete session {UnknownSessionId}"); } [Fact] diff --git a/go/internal/e2e/client_api_e2e_test.go b/go/internal/e2e/client_api_e2e_test.go index 435e8936b..15e97b5a7 100644 --- a/go/internal/e2e/client_api_e2e_test.go +++ b/go/internal/e2e/client_api_e2e_test.go @@ -50,12 +50,14 @@ func TestClientApiE2E(t *testing.T) { }) t.Run("should report error when deleting unknown session id", func(t *testing.T) { - err := client.DeleteSession(t.Context(), "00000000-0000-0000-0000-000000000000") + sessionID := "00000000-0000-0000-0000-000000000000" + err := client.DeleteSession(t.Context(), sessionID) if err == nil { t.Fatal("Expected DeleteSession to fail for unknown id") } - if !strings.Contains(strings.ToLower(err.Error()), "session file not found") { - t.Errorf("Expected error mentioning 'Session file not found', got %v", err) + expectedMessage := "failed to delete session " + sessionID + if !strings.Contains(strings.ToLower(err.Error()), expectedMessage) { + t.Errorf("Expected error mentioning %q, got %v", expectedMessage, err) } }) diff --git a/nodejs/test/e2e/client_api.e2e.test.ts b/nodejs/test/e2e/client_api.e2e.test.ts index d7be5730b..3cad926c5 100644 --- a/nodejs/test/e2e/client_api.e2e.test.ts +++ b/nodejs/test/e2e/client_api.e2e.test.ts @@ -34,10 +34,11 @@ describe("Client session management", async () => { it("should report error when deleting unknown session id", async () => { await client.start(); + const unknownSessionId = "00000000-0000-0000-0000-000000000000"; await assertFailure( - () => client.deleteSession("00000000-0000-0000-0000-000000000000"), - "Session file not found" + () => client.deleteSession(unknownSessionId), + `Failed to delete session ${unknownSessionId}` ); }); diff --git a/python/e2e/test_client_api_e2e.py b/python/e2e/test_client_api_e2e.py index e8dca30bb..1699bb8cf 100644 --- a/python/e2e/test_client_api_e2e.py +++ b/python/e2e/test_client_api_e2e.py @@ -34,10 +34,11 @@ async def test_should_delete_session_by_id(self, ctx: E2ETestContext): async def test_should_report_error_when_deleting_unknown_session_id(self, ctx: E2ETestContext): await ctx.client.start() + unknown_session_id = "00000000-0000-0000-0000-000000000000" with pytest.raises(Exception) as exc_info: - await ctx.client.delete_session("00000000-0000-0000-0000-000000000000") - assert "session file not found" in str(exc_info.value).lower() + await ctx.client.delete_session(unknown_session_id) + assert f"failed to delete session {unknown_session_id}" in str(exc_info.value).lower() async def test_should_get_null_last_session_id_before_any_sessions_exist( self, ctx: E2ETestContext