1
1
import { Event } from '@sentry/types' ;
2
+ import { computeTracestate } from '@sentry/utils' ;
2
3
3
4
import { API } from '../../src/api' ;
4
5
import { eventToSentryRequest } from '../../src/request' ;
@@ -24,17 +25,22 @@ describe('eventToSentryRequest', () => {
24
25
it ( 'correctly handles transaction events' , ( ) => {
25
26
const eventId = '1231201211212012' ;
26
27
const traceId = '0908201304152013' ;
28
+ const environment = 'dogpark' ;
29
+ const release = 'off.leash.park' ;
30
+
27
31
const event = {
28
32
contexts : { trace : { trace_id : traceId , span_id : '12261980' , op : 'pageload' } } ,
29
- environment : 'dogpark' ,
33
+ environment,
30
34
event_id : eventId ,
31
- release : 'off.leash.park' ,
35
+ release,
32
36
spans : [ ] ,
33
- tracestate :
34
- 'ewAiAGUAbgB2AGkAcgBvAG4AbQBlAG4AdAAiADoAIgBkAG8AZwBwAGEAcgBrACIALAAiAHAAdQBiAGwAaQBjAF8AawBlAHkAIgA6ACIA' +
35
- 'ZABvAGcAcwBhAHIAZQBiAGEAZABhAHQAawBlAGUAcABpAG4AZwBzAGUAYwByAGUAdABzACIALAAiAHIAZQBsAGUAYQBzAGUAIgA6ACIA' +
36
- 'bwBmAGYALgBsAGUAYQBzAGgALgBwAGEAcgBrACIAfQA.' ,
37
37
transaction : '/dogs/are/great/' ,
38
+ tracestate : computeTracestate ( {
39
+ trace_id : traceId ,
40
+ environment,
41
+ public_key : 'dogsarebadatkeepingsecrets' ,
42
+ release,
43
+ } ) ,
38
44
type : 'transaction' ,
39
45
user : { id : '1121' , username : 'CharlieDog' , ip_address : '11.21.20.12' } ,
40
46
} ;
@@ -53,15 +59,16 @@ describe('eventToSentryRequest', () => {
53
59
expect ( result . url ) . toEqual (
54
60
'https://squirrelchasers.ingest.sentry.io/api/12312012/envelope/?sentry_key=dogsarebadatkeepingsecrets&sentry_version=7' ,
55
61
) ;
62
+
56
63
expect ( envelope . envelopeHeader ) . toEqual ( {
57
64
event_id : eventId ,
58
65
sent_at : expect . any ( String ) ,
59
- trace_id : traceId ,
60
- trace : JSON . stringify ( {
61
- environment : 'dogpark' ,
66
+ trace : {
67
+ trace_id : traceId ,
68
+ environment,
62
69
public_key : 'dogsarebadatkeepingsecrets' ,
63
- release : 'off.leash.park' ,
64
- } ) ,
70
+ release,
71
+ } ,
65
72
} ) ;
66
73
expect ( envelope . itemHeader ) . toEqual ( { type : 'transaction' } ) ;
67
74
expect ( envelope . event ) . toEqual ( event ) ;
0 commit comments