Skip to content

Commit 596833d

Browse files
committed
Adjust @sentry/node-core unit tests
1 parent 65ebc62 commit 596833d

File tree

6 files changed

+35
-20
lines changed

6 files changed

+35
-20
lines changed

dev-packages/node-integration-tests/suites/aws-serverless/aws-integration/s3/test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ const EXPECTED_TRANSCATION = {
1414
'rpc.system': 'aws-api',
1515
'rpc.method': 'PutObject',
1616
'rpc.service': 'S3',
17-
'aws.region': 'us-east-1',
17+
'cloud.region': 'us-east-1',
1818
'aws.s3.bucket': 'ot-demo-test',
1919
'otel.kind': 'CLIENT',
2020
}),

dev-packages/node-integration-tests/suites/express/tracing/test.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -327,8 +327,7 @@ describe('express tracing', () => {
327327
const runner = createRunner()
328328
.expect({
329329
transaction: {
330-
// TODO(v10): This is incorrect on OpenTelemetry v1 but can be fixed in v2
331-
transaction: `GET ${status_code === 404 ? '/' : url}`,
330+
transaction: `GET ${url}`,
332331
contexts: {
333332
trace: {
334333
span_id: expect.stringMatching(/[a-f0-9]{16}/),

dev-packages/node-integration-tests/suites/tracing/kafkajs/test.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,14 +15,14 @@ describe('kafkajs', () => {
1515
})
1616
.expect({
1717
transaction: {
18-
transaction: 'test-topic',
18+
transaction: 'send test-topic',
1919
contexts: {
2020
trace: expect.objectContaining({
2121
op: 'message',
2222
status: 'ok',
2323
data: expect.objectContaining({
2424
'messaging.system': 'kafka',
25-
'messaging.destination': 'test-topic',
25+
'messaging.destination.name': 'test-topic',
2626
'otel.kind': 'PRODUCER',
2727
'sentry.op': 'message',
2828
'sentry.origin': 'auto.kafkajs.otel.producer',
@@ -33,14 +33,14 @@ describe('kafkajs', () => {
3333
})
3434
.expect({
3535
transaction: {
36-
transaction: 'test-topic',
36+
transaction: 'process test-topic',
3737
contexts: {
3838
trace: expect.objectContaining({
3939
op: 'message',
4040
status: 'ok',
4141
data: expect.objectContaining({
4242
'messaging.system': 'kafka',
43-
'messaging.destination': 'test-topic',
43+
'messaging.destination.name': 'test-topic',
4444
'otel.kind': 'CONSUMER',
4545
'sentry.op': 'message',
4646
'sentry.origin': 'auto.kafkajs.otel.consumer',

packages/node-core/test/helpers/mockSdkInit.ts

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { context, propagation, ProxyTracerProvider, trace } from '@opentelemetry/api';
22
import { defaultResource, resourceFromAttributes } from '@opentelemetry/resources';
3-
import { BasicTracerProvider } from '@opentelemetry/sdk-trace-base';
3+
import { type SpanProcessor, BasicTracerProvider } from '@opentelemetry/sdk-trace-base';
44
import {
55
ATTR_SERVICE_NAME,
66
ATTR_SERVICE_VERSION,
@@ -130,6 +130,30 @@ export function cleanupOtel(_provider?: BasicTracerProvider): void {
130130
resetGlobals();
131131
}
132132

133+
export function getSpanProcessor(): SentrySpanProcessor | undefined {
134+
const client = getClient<NodeClient>();
135+
if (!client?.traceProvider) {
136+
return undefined;
137+
}
138+
139+
const provider = getProvider(client.traceProvider);
140+
if (!provider) {
141+
return undefined;
142+
}
143+
144+
// Access the span processors from the provider via _activeSpanProcessor
145+
// Casted as any because _activeSpanProcessor is marked as readonly
146+
const multiSpanProcessor = (provider as any)._activeSpanProcessor as
147+
| (SpanProcessor & { _spanProcessors?: SpanProcessor[] })
148+
| undefined;
149+
150+
const spanProcessor = multiSpanProcessor?.['_spanProcessors']?.find(
151+
(spanProcessor: SpanProcessor) => spanProcessor instanceof SentrySpanProcessor,
152+
) as SentrySpanProcessor | undefined;
153+
154+
return spanProcessor;
155+
}
156+
133157
export function getProvider(_provider?: BasicTracerProvider): BasicTracerProvider | undefined {
134158
let provider = _provider || getClient<NodeClient>()?.traceProvider || trace.getTracerProvider();
135159

packages/node-core/test/integration/transactions.test.ts

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,9 @@
11
import { context, trace, TraceFlags } from '@opentelemetry/api';
2-
import type { SpanProcessor } from '@opentelemetry/sdk-trace-base';
32
import type { TransactionEvent } from '@sentry/core';
43
import { debug, SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN, SEMANTIC_ATTRIBUTE_SENTRY_SOURCE } from '@sentry/core';
5-
import { SentrySpanProcessor } from '@sentry/opentelemetry';
64
import { afterEach, describe, expect, it, vi } from 'vitest';
75
import * as Sentry from '../../src';
8-
import { cleanupOtel, getProvider, mockSdkInit } from '../helpers/mockSdkInit';
6+
import { cleanupOtel, getSpanProcessor, mockSdkInit } from '../helpers/mockSdkInit';
97

108
describe('Integration | Transactions', () => {
119
afterEach(() => {
@@ -562,13 +560,7 @@ describe('Integration | Transactions', () => {
562560

563561
mockSdkInit({ tracesSampleRate: 1, beforeSendTransaction });
564562

565-
const provider = getProvider();
566-
const multiSpanProcessor = provider?.activeSpanProcessor as
567-
| (SpanProcessor & { _spanProcessors?: SpanProcessor[] })
568-
| undefined;
569-
const spanProcessor = multiSpanProcessor?.['_spanProcessors']?.find(
570-
spanProcessor => spanProcessor instanceof SentrySpanProcessor,
571-
) as SentrySpanProcessor | undefined;
563+
const spanProcessor = getSpanProcessor();
572564

573565
const exporter = spanProcessor ? spanProcessor['_exporter'] : undefined;
574566

packages/opentelemetry/test/trace.test.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,16 +20,16 @@ import {
2020
withScope,
2121
} from '@sentry/core';
2222
import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
23+
import { getParentSpanId } from '../../../packages/opentelemetry/src/utils/getParentSpanId';
2324
import { continueTrace, startInactiveSpan, startSpan, startSpanManual } from '../src/trace';
2425
import type { AbstractSpan } from '../src/types';
2526
import { getActiveSpan } from '../src/utils/getActiveSpan';
2627
import { getSamplingDecision } from '../src/utils/getSamplingDecision';
2728
import { getSpanKind } from '../src/utils/getSpanKind';
2829
import { makeTraceState } from '../src/utils/makeTraceState';
2930
import { spanHasAttributes, spanHasName } from '../src/utils/spanTypes';
30-
import { cleanupOtel, mockSdkInit } from './helpers/mockSdkInit';
3131
import { isSpan } from './helpers/isSpan';
32-
import { getParentSpanId } from '../../../packages/opentelemetry/src/utils/getParentSpanId';
32+
import { cleanupOtel, mockSdkInit } from './helpers/mockSdkInit';
3333

3434
describe('trace', () => {
3535
beforeEach(() => {

0 commit comments

Comments
 (0)