@@ -221,6 +221,35 @@ describe('AWSLambda', () => {
221221 await wrappedHandler ( fakeEvent , fakeContext , fakeCallback ) ;
222222 } ) ;
223223
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+
224253 test ( 'capture error' , async ( ) => {
225254 expect . assertions ( 10 ) ;
226255
@@ -278,6 +307,35 @@ describe('AWSLambda', () => {
278307 await wrappedHandler ( fakeEvent , fakeContext , fakeCallback ) ;
279308 } ) ;
280309
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+
281339 test ( 'capture error' , async ( ) => {
282340 expect . assertions ( 10 ) ;
283341
@@ -328,6 +386,35 @@ describe('AWSLambda', () => {
328386 await wrappedHandler ( fakeEvent , fakeContext , fakeCallback ) ;
329387 } ) ;
330388
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+
331418 test ( 'capture error' , async ( ) => {
332419 expect . assertions ( 10 ) ;
333420
0 commit comments