From 3bc777bfb412eb1dc775ec54cf1847241b4f7147 Mon Sep 17 00:00:00 2001 From: Charly Gomez Date: Fri, 4 Sep 2026 15:25:38 +0200 Subject: [PATCH] test(e2e): Port the nestjs-websockets E2E app to span streaming Removes the `traceLifecycle: 'static'` pin and rewrites the specs against streamed spans. Ref: #23801 Co-Authored-By: Claude Opus 5 --- .../nestjs-websockets/src/instrument.ts | 1 - .../tests/transactions.test.ts | 17 +++++++---------- 2 files changed, 7 insertions(+), 11 deletions(-) diff --git a/dev-packages/e2e-tests/test-applications/nestjs-websockets/src/instrument.ts b/dev-packages/e2e-tests/test-applications/nestjs-websockets/src/instrument.ts index e7230cd2b44d..e0a1cead1153 100644 --- a/dev-packages/e2e-tests/test-applications/nestjs-websockets/src/instrument.ts +++ b/dev-packages/e2e-tests/test-applications/nestjs-websockets/src/instrument.ts @@ -1,7 +1,6 @@ import * as Sentry from '@sentry/nestjs'; Sentry.init({ - traceLifecycle: 'static', environment: 'qa', dsn: process.env.E2E_TEST_DSN, tunnel: `http://localhost:3031/`, diff --git a/dev-packages/e2e-tests/test-applications/nestjs-websockets/tests/transactions.test.ts b/dev-packages/e2e-tests/test-applications/nestjs-websockets/tests/transactions.test.ts index d701897cfa56..6cebef2405d2 100644 --- a/dev-packages/e2e-tests/test-applications/nestjs-websockets/tests/transactions.test.ts +++ b/dev-packages/e2e-tests/test-applications/nestjs-websockets/tests/transactions.test.ts @@ -1,18 +1,15 @@ import { expect, test } from '@playwright/test'; -import { waitForTransaction } from '@sentry-internal/test-utils'; +import { getSpanOp, waitForStreamedSpan } from '@sentry-internal/test-utils'; -test('Sends an HTTP transaction', async ({ baseURL }) => { - const txPromise = waitForTransaction('nestjs-websockets', tx => { - return tx?.contexts?.trace?.op === 'http.server' && tx?.transaction === 'GET /test-transaction'; +test('Sends an HTTP segment span', async ({ baseURL }) => { + const spanPromise = waitForStreamedSpan('nestjs-websockets', span => { + return span.is_segment && span.name === 'GET /test-transaction'; }); await fetch(`${baseURL}/test-transaction`); - const tx = await txPromise; + const span = await spanPromise; - expect(tx.contexts?.trace).toEqual( - expect.objectContaining({ - op: 'http.server', - }), - ); + expect(getSpanOp(span)).toBe('http.server'); + expect(span.status).toBe('ok'); });