@@ -16,13 +16,14 @@ import { getDefaultNodeClientOptions } from '../helper/node-client-options';
16
16
const NODE_VERSION = parseSemver ( process . versions . node ) ;
17
17
18
18
describe ( 'tracing' , ( ) => {
19
- function createTransactionOnScope ( ) {
19
+ function createTransactionOnScope ( sendDefaultPii : boolean = true ) {
20
20
const options = getDefaultNodeClientOptions ( {
21
21
dsn :
'https://[email protected] /12312012' ,
22
22
tracesSampleRate : 1.0 ,
23
23
integrations : [ new HttpIntegration ( { tracing : true } ) ] ,
24
24
release : '1.0.0' ,
25
25
environment : 'production' ,
26
+ sendDefaultPii,
26
27
} ) ;
27
28
const hub = new Hub ( new NodeClient ( options ) ) ;
28
29
addExtensionMethods ( ) ;
@@ -133,6 +134,23 @@ describe('tracing', () => {
133
134
) ;
134
135
} ) ;
135
136
137
+ it ( 'does not add the user_id to the baggage header if sendDefaultPii is set to false' , async ( ) => {
138
+ nock ( 'http://dogs.are.great' ) . get ( '/' ) . reply ( 200 ) ;
139
+
140
+ createTransactionOnScope ( false ) ;
141
+
142
+ const request = http . get ( { host : 'http://dogs.are.great/' , headers : { baggage : 'dog=great' } } ) ;
143
+ const baggageHeader = request . getHeader ( 'baggage' ) as string ;
144
+
145
+ expect ( baggageHeader ) . toBeDefined ( ) ;
146
+ expect ( typeof baggageHeader ) . toEqual ( 'string' ) ;
147
+ expect ( baggageHeader ) . toEqual (
148
+ 'dog=great,sentry-environment=production,sentry-release=1.0.0,sentry-transaction=dogpark,' +
149
+ 'sentry-user_segment=segmentA,sentry-public_key=dogsarebadatkeepingsecrets,' +
150
+ 'sentry-trace_id=12312012123120121231201212312012,sentry-sample_rate=1' ,
151
+ ) ;
152
+ } ) ;
153
+
136
154
it ( "doesn't attach the sentry-trace header to outgoing sentry requests" , ( ) => {
137
155
nock ( 'http://squirrelchasers.ingest.sentry.io' ) . get ( '/api/12312012/store/' ) . reply ( 200 ) ;
138
156
0 commit comments