@@ -18,7 +18,6 @@ vi.mock('@opentelemetry/core', () => ({
1818
1919vi . mock ( '@sentry/core' , ( ) => ( {
2020 SEMANTIC_ATTRIBUTE_SENTRY_SOURCE : 'sentry.source' ,
21- SEMANTIC_ATTRIBUTE_SENTRY_CUSTOM_SPAN_NAME : 'sentry.custom-span-name' ,
2221 SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN : 'sentry.origin' ,
2322 getActiveSpan : vi . fn ( ) ,
2423 getRootSpan : vi . fn ( ) ,
@@ -56,7 +55,7 @@ describe('wrapSentryHandleRequest', () => {
5655 const originalHandler = vi . fn ( ) . mockResolvedValue ( 'test' ) ;
5756 const wrappedHandler = wrapSentryHandleRequest ( originalHandler ) ;
5857
59- const mockActiveSpan = { setAttribute : vi . fn ( ) } ;
58+ const mockActiveSpan = { } ;
6059 const mockRootSpan = { setAttributes : vi . fn ( ) } ;
6160 const mockRpcMetadata = { type : RPCType . HTTP , route : '/some-path' } ;
6261
@@ -73,8 +72,6 @@ describe('wrapSentryHandleRequest', () => {
7372
7473 await wrappedHandler ( new Request ( 'https://nacho.queso' ) , 200 , new Headers ( ) , routerContext , { } as any ) ;
7574
76- expect ( getActiveSpan ) . toHaveBeenCalled ( ) ;
77- expect ( getRootSpan ) . toHaveBeenCalledWith ( mockActiveSpan ) ;
7875 expect ( mockRootSpan . setAttributes ) . toHaveBeenCalledWith ( {
7976 [ ATTR_HTTP_ROUTE ] : '/some-path' ,
8077 [ SEMANTIC_ATTRIBUTE_SENTRY_SOURCE ] : 'route' ,
@@ -84,6 +81,12 @@ describe('wrapSentryHandleRequest', () => {
8481 } ) ;
8582
8683 test ( 'should not set span attributes when parameterized path does not exist' , async ( ) => {
84+ const mockActiveSpan = { } ;
85+ const mockRootSpan = { setAttributes : vi . fn ( ) } ;
86+
87+ ( getActiveSpan as unknown as ReturnType < typeof vi . fn > ) . mockReturnValue ( mockActiveSpan ) ;
88+ ( getRootSpan as unknown as ReturnType < typeof vi . fn > ) . mockReturnValue ( mockRootSpan ) ;
89+
8790 const originalHandler = vi . fn ( ) . mockResolvedValue ( 'test' ) ;
8891 const wrappedHandler = wrapSentryHandleRequest ( originalHandler ) ;
8992
@@ -95,15 +98,20 @@ describe('wrapSentryHandleRequest', () => {
9598
9699 await wrappedHandler ( new Request ( 'https://guapo.chulo' ) , 200 , new Headers ( ) , routerContext , { } as any ) ;
97100
98- expect ( getActiveSpan ) . not . toHaveBeenCalled ( ) ;
101+ expect ( mockRootSpan . setAttributes ) . not . toHaveBeenCalled ( ) ;
99102 } ) ;
100103
101104 test ( 'should not set span attributes when active span does not exist' , async ( ) => {
102105 const originalHandler = vi . fn ( ) . mockResolvedValue ( 'test' ) ;
103106 const wrappedHandler = wrapSentryHandleRequest ( originalHandler ) ;
104107
108+ const mockRpcMetadata = { type : RPCType . HTTP , route : '/some-path' } ;
109+
105110 ( getActiveSpan as unknown as ReturnType < typeof vi . fn > ) . mockReturnValue ( null ) ;
106111
112+ const getRPCMetadata = vi . fn ( ) . mockReturnValue ( mockRpcMetadata ) ;
113+ vi . mocked ( vi . importActual ( '@opentelemetry/core' ) ) . getRPCMetadata = getRPCMetadata ;
114+
107115 const routerContext = {
108116 staticHandlerContext : {
109117 matches : [ { route : { path : 'some-path' } } ] ,
@@ -112,8 +120,7 @@ describe('wrapSentryHandleRequest', () => {
112120
113121 await wrappedHandler ( new Request ( 'https://tio.pepe' ) , 200 , new Headers ( ) , routerContext , { } as any ) ;
114122
115- expect ( getActiveSpan ) . toHaveBeenCalled ( ) ;
116- expect ( getRootSpan ) . not . toHaveBeenCalled ( ) ;
123+ expect ( getRPCMetadata ) . not . toHaveBeenCalled ( ) ;
117124 } ) ;
118125} ) ;
119126
0 commit comments