@@ -221,6 +221,35 @@ describe('AWSLambda', () => {
221
221
await wrappedHandler ( fakeEvent , fakeContext , fakeCallback ) ;
222
222
} ) ;
223
223
224
+ test ( 'incoming trace headers are correctly parsed and used' , async ( ) => {
225
+ expect . assertions ( 1 ) ;
226
+
227
+ fakeEvent . headers = {
228
+ 'sentry-trace' : '12312012123120121231201212312012-1121201211212012-0' ,
229
+ tracestate : 'sentry=doGsaREgReaT,maisey=silly,charlie=goofy' ,
230
+ } ;
231
+
232
+ const handler : Handler = ( _event , _context , callback ) => {
233
+ expect ( Sentry . startTransaction ) . toBeCalledWith (
234
+ expect . objectContaining ( {
235
+ traceId : '12312012123120121231201212312012' ,
236
+ parentSpanId : '1121201211212012' ,
237
+ parentSampled : false ,
238
+ metadata : {
239
+ tracestate : {
240
+ sentry : 'sentry=doGsaREgReaT' ,
241
+ thirdparty : 'maisey=silly,charlie=goofy' ,
242
+ } ,
243
+ } ,
244
+ } ) ,
245
+ ) ;
246
+
247
+ callback ( undefined , { its : 'fine' } ) ;
248
+ } ;
249
+ const wrappedHandler = wrapHandler ( handler ) ;
250
+ await wrappedHandler ( fakeEvent , fakeContext , fakeCallback ) ;
251
+ } ) ;
252
+
224
253
test ( 'capture error' , async ( ) => {
225
254
expect . assertions ( 10 ) ;
226
255
@@ -278,6 +307,35 @@ describe('AWSLambda', () => {
278
307
await wrappedHandler ( fakeEvent , fakeContext , fakeCallback ) ;
279
308
} ) ;
280
309
310
+ test ( 'incoming trace headers are correctly parsed and used' , async ( ) => {
311
+ expect . assertions ( 1 ) ;
312
+
313
+ fakeEvent . headers = {
314
+ 'sentry-trace' : '12312012123120121231201212312012-1121201211212012-0' ,
315
+ tracestate : 'sentry=doGsaREgReaT,maisey=silly,charlie=goofy' ,
316
+ } ;
317
+
318
+ const handler : Handler = async ( _event , _context , callback ) => {
319
+ expect ( Sentry . startTransaction ) . toBeCalledWith (
320
+ expect . objectContaining ( {
321
+ traceId : '12312012123120121231201212312012' ,
322
+ parentSpanId : '1121201211212012' ,
323
+ parentSampled : false ,
324
+ metadata : {
325
+ tracestate : {
326
+ sentry : 'sentry=doGsaREgReaT' ,
327
+ thirdparty : 'maisey=silly,charlie=goofy' ,
328
+ } ,
329
+ } ,
330
+ } ) ,
331
+ ) ;
332
+
333
+ callback ( undefined , { its : 'fine' } ) ;
334
+ } ;
335
+ const wrappedHandler = wrapHandler ( handler ) ;
336
+ await wrappedHandler ( fakeEvent , fakeContext , fakeCallback ) ;
337
+ } ) ;
338
+
281
339
test ( 'capture error' , async ( ) => {
282
340
expect . assertions ( 10 ) ;
283
341
@@ -328,6 +386,35 @@ describe('AWSLambda', () => {
328
386
await wrappedHandler ( fakeEvent , fakeContext , fakeCallback ) ;
329
387
} ) ;
330
388
389
+ test ( 'incoming trace headers are correctly parsed and used' , async ( ) => {
390
+ expect . assertions ( 1 ) ;
391
+
392
+ fakeEvent . headers = {
393
+ 'sentry-trace' : '12312012123120121231201212312012-1121201211212012-0' ,
394
+ tracestate : 'sentry=doGsaREgReaT,maisey=silly,charlie=goofy' ,
395
+ } ;
396
+
397
+ const handler : Handler = async ( _event , _context , callback ) => {
398
+ expect ( Sentry . startTransaction ) . toBeCalledWith (
399
+ expect . objectContaining ( {
400
+ traceId : '12312012123120121231201212312012' ,
401
+ parentSpanId : '1121201211212012' ,
402
+ parentSampled : false ,
403
+ metadata : {
404
+ tracestate : {
405
+ sentry : 'sentry=doGsaREgReaT' ,
406
+ thirdparty : 'maisey=silly,charlie=goofy' ,
407
+ } ,
408
+ } ,
409
+ } ) ,
410
+ ) ;
411
+
412
+ callback ( undefined , { its : 'fine' } ) ;
413
+ } ;
414
+ const wrappedHandler = wrapHandler ( handler ) ;
415
+ await wrappedHandler ( fakeEvent , fakeContext , fakeCallback ) ;
416
+ } ) ;
417
+
331
418
test ( 'capture error' , async ( ) => {
332
419
expect . assertions ( 10 ) ;
333
420
0 commit comments