4
4
from sentry_sdk .tracing_utils import compute_tracestate_value
5
5
import sentry_sdk .client
6
6
7
+ import pytest
8
+
9
+ try :
10
+ from unittest import mock # python 3.3 and above
11
+ except ImportError :
12
+ import mock # python < 3.3
13
+
7
14
8
15
def generate_transaction_item ():
9
16
return {
@@ -25,6 +32,8 @@ def generate_transaction_item():
25
32
"environment" : "dogpark" ,
26
33
"release" : "off.leash.park" ,
27
34
"public_key" : "dogsarebadatkeepingsecrets" ,
35
+ "user" : {"id" : 12312013 , "segment" : "bigs" },
36
+ "transaction" : "/interactions/other-dogs/new-dog" ,
28
37
}
29
38
),
30
39
}
@@ -79,13 +88,23 @@ def test_add_and_get_session():
79
88
assert item .payload .json == expected .to_json ()
80
89
81
90
82
- def test_envelope_headers (sentry_init , capture_envelopes , monkeypatch ):
91
+ # TODO (kmclb) remove this parameterization once tracestate is a real feature
92
+ @pytest .mark .parametrize ("tracestate_enabled" , [True , False ])
93
+ def test_envelope_headers (
94
+ sentry_init , capture_envelopes , monkeypatch , tracestate_enabled
95
+ ):
83
96
monkeypatch .setattr (
84
97
sentry_sdk .client ,
85
98
"format_timestamp" ,
86
99
lambda x : "2012-11-21T12:31:12.415908Z" ,
87
100
)
88
101
102
+ monkeypatch .setattr (
103
+ sentry_sdk .client ,
104
+ "has_tracestate_enabled" ,
105
+ mock .Mock (return_value = tracestate_enabled ),
106
+ )
107
+
89
108
sentry_init (
90
109
dsn = "https://dogsarebadatkeepingsecrets@squirrelchasers.ingest.sentry.io/12312012" ,
91
110
)
@@ -95,13 +114,21 @@ def test_envelope_headers(sentry_init, capture_envelopes, monkeypatch):
95
114
96
115
assert len (envelopes ) == 1
97
116
98
- assert envelopes [0 ].headers == {
99
- "event_id" : "15210411201320122115110420122013" ,
100
- "sent_at" : "2012-11-21T12:31:12.415908Z" ,
101
- "trace" : {
102
- "trace_id" : "12312012123120121231201212312012" ,
103
- "environment" : "dogpark" ,
104
- "release" : "off.leash.park" ,
105
- "public_key" : "dogsarebadatkeepingsecrets" ,
106
- },
107
- }
117
+ if tracestate_enabled :
118
+ assert envelopes [0 ].headers == {
119
+ "event_id" : "15210411201320122115110420122013" ,
120
+ "sent_at" : "2012-11-21T12:31:12.415908Z" ,
121
+ "trace" : {
122
+ "trace_id" : "12312012123120121231201212312012" ,
123
+ "environment" : "dogpark" ,
124
+ "release" : "off.leash.park" ,
125
+ "public_key" : "dogsarebadatkeepingsecrets" ,
126
+ "user" : {"id" : 12312013 , "segment" : "bigs" },
127
+ "transaction" : "/interactions/other-dogs/new-dog" ,
128
+ },
129
+ }
130
+ else :
131
+ assert envelopes [0 ].headers == {
132
+ "event_id" : "15210411201320122115110420122013" ,
133
+ "sent_at" : "2012-11-21T12:31:12.415908Z" ,
134
+ }
0 commit comments