@@ -41,6 +41,16 @@ jest.mock('../../utils/logger-instance', () => ({
4141 debug : jest . fn ( )
4242} ) )
4343
44+ // Mock the opentelemetry utils
45+ jest . mock ( '../../utils/opentelemetry' , ( ) => ( {
46+ getServiceName : jest . fn ( ( ) => 'pwa-kit-react-sdk' ) ,
47+ OTEL_CONFIG : {
48+ serviceName : 'pwa-kit-react-sdk' ,
49+ enabled : true ,
50+ b3TracingEnabled : true
51+ }
52+ } ) )
53+
4454describe ( 'OpenTelemetry Server Tracing' , ( ) => {
4555 let mockNodeTracerProvider
4656 let mockSimpleSpanProcessor
@@ -65,6 +75,7 @@ describe('OpenTelemetry Server Tracing', () => {
6575 const { Resource} = require ( '@opentelemetry/resources' )
6676 const { propagation} = require ( '@opentelemetry/api' )
6777 const logger = require ( '../../utils/logger-instance' )
78+ const { getServiceName, OTEL_CONFIG } = require ( '../../utils/opentelemetry' )
6879 const opentelemetryServer = require ( './opentelemetry-server' )
6980 /* eslint-enable @typescript-eslint/no-var-requires */
7081
@@ -278,57 +289,48 @@ describe('OpenTelemetry Server Tracing', () => {
278289 process . env = originalEnv
279290 } )
280291
281- test ( 'should use OTEL_SERVICE_NAME environment variable when provided' , ( ) => {
292+ test ( 'should use custom service name when provided' , ( ) => {
282293 // Clear previous mock calls
283294 mockResource . mockClear ( )
284295 mockNodeTracerProvider . mockClear ( )
285296
286- process . env . OTEL_SERVICE_NAME = 'env-service-name'
287-
288- const result = initializeServerTracing ( { enabled : true } )
297+ const result = initializeServerTracing ( {
298+ enabled : true ,
299+ serviceName : 'custom-service-name'
300+ } )
289301
290302 expect ( mockResource ) . toHaveBeenCalledWith ( {
291- 'service.name' : 'env -service-name'
303+ 'service.name' : 'custom -service-name'
292304 } )
293305 expect ( result ) . toBeDefined ( )
294306 } )
295307
296- test ( 'should enable tracing when OTEL_SDK_ENABLED is true ' , ( ) => {
308+ test ( 'should use getServiceName when no service name provided ' , ( ) => {
297309 // Clear previous mock calls
298310 mockResource . mockClear ( )
299311 mockNodeTracerProvider . mockClear ( )
300312
301- process . env . OTEL_SDK_ENABLED = 'true'
302-
303- const result = initializeServerTracing ( )
313+ const result = initializeServerTracing ( { enabled : true } )
304314
305- expect ( mockNodeTracerProvider ) . toHaveBeenCalled ( )
315+ expect ( mockResource ) . toHaveBeenCalledWith ( {
316+ 'service.name' : 'pwa-kit-react-sdk'
317+ } )
306318 expect ( result ) . toBeDefined ( )
307319 } )
308320
309- test ( 'should disable tracing when OTEL_SDK_ENABLED is false' , ( ) => {
310- process . env . OTEL_SDK_ENABLED = 'false'
311-
312- // Re-import to get fresh module with updated env
313- // eslint-disable-next-line @typescript-eslint/no-var-requires
314- const opentelemetryServer = require ( './opentelemetry-server' )
315- const { initializeServerTracing} = opentelemetryServer
321+ test ( 'should enable tracing when enabled is true' , ( ) => {
322+ // Clear previous mock calls
323+ mockResource . mockClear ( )
324+ mockNodeTracerProvider . mockClear ( )
316325
317- const result = initializeServerTracing ( defaultOptions )
326+ const result = initializeServerTracing ( { enabled : true } )
318327
319- expect ( mockNodeTracerProvider ) . not . toHaveBeenCalled ( )
320- expect ( result ) . toBeNull ( )
328+ expect ( mockNodeTracerProvider ) . toHaveBeenCalled ( )
329+ expect ( result ) . toBeDefined ( )
321330 } )
322331
323- test ( 'should disable tracing when OTEL_SDK_ENABLED is not set' , ( ) => {
324- delete process . env . OTEL_SDK_ENABLED
325-
326- // Re-import to get fresh module with updated env
327- // eslint-disable-next-line @typescript-eslint/no-var-requires
328- const opentelemetryServer = require ( './opentelemetry-server' )
329- const { initializeServerTracing} = opentelemetryServer
330-
331- const result = initializeServerTracing ( defaultOptions )
332+ test ( 'should disable tracing when enabled is false' , ( ) => {
333+ const result = initializeServerTracing ( { enabled : false } )
332334
333335 expect ( mockNodeTracerProvider ) . not . toHaveBeenCalled ( )
334336 expect ( result ) . toBeNull ( )
0 commit comments