mirror of
https://github.com/open-telemetry/opentelemetry-python-contrib.git
synced 2025-07-30 05:32:30 +08:00
40 lines
1.1 KiB
Python
40 lines
1.1 KiB
Python
from ddtrace.opentracer.span_context import SpanContext
|
|
|
|
|
|
class TestSpanContext(object):
|
|
|
|
def test_init(self):
|
|
"""Make sure span context creation is fine."""
|
|
span_ctx = SpanContext()
|
|
assert span_ctx
|
|
|
|
def test_baggage(self):
|
|
"""Ensure baggage passed is the resulting baggage of the span context."""
|
|
baggage = {
|
|
'some': 'stuff',
|
|
}
|
|
|
|
span_ctx = SpanContext(baggage=baggage)
|
|
|
|
assert span_ctx.baggage == baggage
|
|
|
|
def test_with_baggage_item(self):
|
|
"""Should allow immutable extension of new span contexts."""
|
|
baggage = {
|
|
'1': 1,
|
|
}
|
|
|
|
first_ctx = SpanContext(baggage=baggage)
|
|
|
|
second_ctx = first_ctx.with_baggage_item('2', 2)
|
|
|
|
assert '2' not in first_ctx.baggage
|
|
assert second_ctx.baggage is not first_ctx.baggage
|
|
|
|
def test_span_context_immutable_baggage(self):
|
|
"""Ensure that two different span contexts do not share baggage."""
|
|
ctx1 = SpanContext()
|
|
ctx1.set_baggage_item('test', 3)
|
|
ctx2 = SpanContext()
|
|
assert 'test' not in ctx2._baggage
|