1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
|
from sentry_sdk.tracing_utils import Baggage
def test_third_party_baggage():
header = "other-vendor-value-1=foo;bar;baz, other-vendor-value-2=foo;bar;"
baggage = Baggage.from_incoming_header(header)
assert baggage.mutable
assert baggage.sentry_items == {}
assert (
baggage.third_party_items
== "other-vendor-value-1=foo;bar;baz,other-vendor-value-2=foo;bar;"
)
assert baggage.dynamic_sampling_context() == {}
assert baggage.serialize() == ""
assert (
baggage.serialize(include_third_party=True)
== "other-vendor-value-1=foo;bar;baz,other-vendor-value-2=foo;bar;"
)
def test_mixed_baggage():
header = (
"other-vendor-value-1=foo;bar;baz, sentry-trace_id=771a43a4192642f0b136d5159a501700, "
"sentry-public_key=49d0f7386ad645858ae85020e393bef3, sentry-sample_rate=0.01337, "
"sentry-user_id=Am%C3%A9lie, sentry-foo=bar, other-vendor-value-2=foo;bar;"
)
baggage = Baggage.from_incoming_header(header)
assert not baggage.mutable
assert baggage.sentry_items == {
"public_key": "49d0f7386ad645858ae85020e393bef3",
"trace_id": "771a43a4192642f0b136d5159a501700",
"user_id": "Amélie",
"sample_rate": "0.01337",
"foo": "bar",
}
assert (
baggage.third_party_items
== "other-vendor-value-1=foo;bar;baz,other-vendor-value-2=foo;bar;"
)
assert baggage.dynamic_sampling_context() == {
"public_key": "49d0f7386ad645858ae85020e393bef3",
"trace_id": "771a43a4192642f0b136d5159a501700",
"user_id": "Amélie",
"sample_rate": "0.01337",
"foo": "bar",
}
assert baggage.serialize() == (
"sentry-trace_id=771a43a4192642f0b136d5159a501700,"
"sentry-public_key=49d0f7386ad645858ae85020e393bef3,"
"sentry-sample_rate=0.01337,sentry-user_id=Am%C3%A9lie,"
"sentry-foo=bar"
)
assert baggage.serialize(include_third_party=True) == (
"sentry-trace_id=771a43a4192642f0b136d5159a501700,"
"sentry-public_key=49d0f7386ad645858ae85020e393bef3,"
"sentry-sample_rate=0.01337,sentry-user_id=Am%C3%A9lie,sentry-foo=bar,"
"other-vendor-value-1=foo;bar;baz,other-vendor-value-2=foo;bar;"
)
def test_malformed_baggage():
header = ","
baggage = Baggage.from_incoming_header(header)
assert baggage.sentry_items == {}
assert baggage.third_party_items == ""
assert baggage.mutable
|