File tree 2 files changed +67
-0
lines changed
dev-packages/node-integration-tests/suites/tracing/meta-tags-twp
2 files changed +67
-0
lines changed Original file line number Diff line number Diff line change
1
+ const { loggingTransport } = require ( '@sentry-internal/node-integration-tests' ) ;
2
+ const Sentry = require ( '@sentry/node' ) ;
3
+
4
+ Sentry . init ( {
5
+ dsn : 'https://public@dsn.ingest.sentry.io/1337' ,
6
+ transport : loggingTransport ,
7
+ debug : true ,
8
+ } ) ;
9
+
10
+ // express must be required after Sentry is initialized
11
+ const express = require ( 'express' ) ;
12
+ const { startExpressServerAndSendPortToRunner } = require ( '@sentry-internal/node-integration-tests' ) ;
13
+
14
+ const app = express ( ) ;
15
+
16
+ app . get ( '/test' , ( _req , res ) => {
17
+ res . send ( {
18
+ response : `
19
+ <html>
20
+ <head>
21
+ ${ Sentry . getTraceMetaTags ( ) }
22
+ </head>
23
+ <body>
24
+ Hi :)
25
+ </body>
26
+ </html>
27
+ ` ,
28
+ } ) ;
29
+ } ) ;
30
+
31
+ Sentry . setupExpressErrorHandler ( app ) ;
32
+
33
+ // TODO: remove port again
34
+ startExpressServerAndSendPortToRunner ( app , 3000 ) ;
Original file line number Diff line number Diff line change
1
+ import { cleanupChildProcesses , createRunner } from '../../../utils/runner' ;
2
+
3
+ describe ( 'getTraceMetaTags' , ( ) => {
4
+ afterAll ( ( ) => {
5
+ cleanupChildProcesses ( ) ;
6
+ } ) ;
7
+
8
+ test ( 'injects sentry tracing <meta> tags without sampled flag for Tracing Without Performance' , async ( ) => {
9
+ const runner = createRunner ( __dirname , 'server.js' ) . start ( ) ;
10
+
11
+ const response = await runner . makeRequest ( 'get' , '/test' ) ;
12
+
13
+ // @ts -ignore - response is defined, types just don't reflect it
14
+ const html = response ?. response as unknown as string ;
15
+
16
+ console . log ( html ) ;
17
+
18
+ const [ _ , traceId , spanId ] = html . match ( / < m e t a n a m e = " s e n t r y - t r a c e " c o n t e n t = " ( [ a - f 0 - 9 ] { 32 } ) - ( [ a - f 0 - 9 ] { 16 } ) " \/ > / ) || [
19
+ undefined ,
20
+ undefined ,
21
+ undefined ,
22
+ ] ;
23
+
24
+ expect ( traceId ) . toBeDefined ( ) ;
25
+ expect ( spanId ) . toBeDefined ( ) ;
26
+
27
+ const sentryBaggageContent = html . match ( / < m e t a n a m e = " b a g g a g e " c o n t e n t = " ( .* ) " \/ > / ) ?. [ 1 ] ;
28
+
29
+ expect ( sentryBaggageContent ) . toEqual (
30
+ `sentry-environment=production,sentry-public_key=public,sentry-trace_id=${ traceId } ` ,
31
+ ) ;
32
+ } ) ;
33
+ } ) ;
You can’t perform that action at this time.
0 commit comments