diff --git a/dev-packages/node-integration-tests/suites/aws-serverless/graphql/useOperationNameForRootSpan/scenario.js b/dev-packages/node-integration-tests/suites/aws-serverless/graphql/useOperationNameForRootSpan/scenario.js index a37f51672bba..4023421921b5 100644 --- a/dev-packages/node-integration-tests/suites/aws-serverless/graphql/useOperationNameForRootSpan/scenario.js +++ b/dev-packages/node-integration-tests/suites/aws-serverless/graphql/useOperationNameForRootSpan/scenario.js @@ -2,7 +2,6 @@ const { loggingTransport } = require('@sentry-internal/node-integration-tests'); const Sentry = require('@sentry/aws-serverless'); Sentry.init({ - traceLifecycle: 'static', dsn: 'https://public@dsn.ingest.sentry.io/1337', tracesSampleRate: 1.0, integrations: [Sentry.graphqlIntegration({ useOperationNameForRootSpan: true })], diff --git a/dev-packages/node-integration-tests/suites/aws-serverless/graphql/useOperationNameForRootSpan/test.ts b/dev-packages/node-integration-tests/suites/aws-serverless/graphql/useOperationNameForRootSpan/test.ts index 1138a4b4c6ca..723e6a9e3d95 100644 --- a/dev-packages/node-integration-tests/suites/aws-serverless/graphql/useOperationNameForRootSpan/test.ts +++ b/dev-packages/node-integration-tests/suites/aws-serverless/graphql/useOperationNameForRootSpan/test.ts @@ -1,17 +1,6 @@ import { afterAll, describe, expect, test } from 'vitest'; import { cleanupChildProcesses, createRunner } from '../../../../utils/runner'; -const EXPECTED_TRANSCATION = { - transaction: 'Test Transaction (query GetHello)', - spans: expect.arrayContaining([ - expect.objectContaining({ - description: 'query GetHello', - origin: 'auto.graphql.diagnostic_channel', - status: 'ok', - }), - ]), -}; - describe('graphqlIntegration', () => { afterAll(() => { cleanupChildProcesses(); @@ -20,8 +9,31 @@ describe('graphqlIntegration', () => { test('should use GraphQL operation name for root span if useOperationNameForRootSpan is set', async () => { await createRunner(__dirname, 'scenario.js') .ignore('event') - .expect({ transaction: { transaction: 'Test Server Start' } }) - .expect({ transaction: EXPECTED_TRANSCATION }) + .expect({ + span: container => { + expect(container.items.find(span => span.is_segment && span.name === 'Test Server Start')).toBeDefined(); + const segment = container.items.find(span => span.is_segment && span.name === 'Test Transaction'); + const children = container.items.filter( + span => !span.is_segment && span.attributes['sentry.segment.id']?.value === segment?.span_id, + ); + + expect(segment?.attributes['sentry.graphql.operation']).toEqual({ + value: 'query GetHello', + type: 'string', + }); + const executeSpan = children.find(span => span.attributes['graphql.processing.type']?.value === 'execute'); + expect(executeSpan?.name).toBe('GraphQL query'); + expect(executeSpan?.status).toBe('ok'); + expect(executeSpan?.attributes['graphql.operation.name']).toEqual({ + value: 'GetHello', + type: 'string', + }); + expect(executeSpan?.attributes['sentry.origin']).toEqual({ + value: 'auto.graphql.diagnostic_channel', + type: 'string', + }); + }, + }) .start() .completed(); });