diff --git a/dev-packages/bun-integration-tests/suites/request-bodies/index.ts b/dev-packages/bun-integration-tests/suites/request-bodies/index.ts index dbd9ecfd5dd2..fab2418ca66f 100644 --- a/dev-packages/bun-integration-tests/suites/request-bodies/index.ts +++ b/dev-packages/bun-integration-tests/suites/request-bodies/index.ts @@ -7,8 +7,6 @@ const mode = process.env.BODY_MODE; Sentry.init({ dsn: process.env.SENTRY_DSN, tracesSampleRate: 1.0, - // Request bodies are only attached to transaction events, so this suite needs the static trace lifecycle. - traceLifecycle: 'static', ...(mode === 'explicit-small' && { dataCollection: { httpBodies: [] }, integrations: integrations => [ diff --git a/dev-packages/bun-integration-tests/suites/request-bodies/test.ts b/dev-packages/bun-integration-tests/suites/request-bodies/test.ts index 0134022d2b29..f81b2b99b619 100644 --- a/dev-packages/bun-integration-tests/suites/request-bodies/test.ts +++ b/dev-packages/bun-integration-tests/suites/request-bodies/test.ts @@ -9,13 +9,22 @@ test('captures incoming request bodies by default', async () => { const runner = createRunner(__dirname, 'index.ts') .withMockSentryServer() .expect({ - transaction: transaction => { - expect(transaction.request).toMatchObject({ - method: 'POST', - url: expect.stringContaining('/default'), - query_string: 'source=test', - headers: expect.objectContaining({ 'content-type': 'text/plain' }), - data: 'captured-by-default', + span: container => { + const span = container.items.find(span => span.is_segment); + expect(span).toBeDefined(); + expect(span?.attributes['http.request.method']).toEqual({ value: 'POST', type: 'string' }); + expect(span?.attributes['url.full']).toEqual({ + value: expect.stringContaining('/default'), + type: 'string', + }); + expect(span?.attributes['url.query']).toEqual({ value: 'source=test', type: 'string' }); + expect(span?.attributes['http.request.header.content-type']).toEqual({ + value: ['text/plain'], + type: 'array', + }); + expect(span?.attributes['http.request.body.data']).toEqual({ + value: 'captured-by-default', + type: 'string', }); }, }) @@ -34,8 +43,10 @@ test('an explicit small size overrides disabled body collection', async () => { .withMockSentryServer() .withEnv({ BODY_MODE: 'explicit-small' }) .expect({ - transaction: transaction => { - expect(transaction.request?.data).toBe(`${'a'.repeat(997)}...`); + span: container => { + const span = container.items.find(span => span.is_segment); + expect(span).toBeDefined(); + expect(span?.attributes['http.request.body.data']?.value).toBe(`${'a'.repeat(997)}...`); }, }) .start(); @@ -54,9 +65,11 @@ test('an explicit none overrides enabled body collection', async () => { .withMockSentryServer() .withEnv({ BODY_MODE: 'explicit-none' }) .expect({ - transaction: transaction => { - expect(transaction.request?.method).toBe('POST'); - expect(transaction.request?.data).toBeUndefined(); + span: container => { + const span = container.items.find(span => span.is_segment); + expect(span).toBeDefined(); + expect(span?.attributes['http.request.method']?.value).toBe('POST'); + expect(span?.attributes['http.request.body.data']).toBeUndefined(); }, }) .start();