mirror of
https://github.com/open-telemetry/opentelemetry-python-contrib.git
synced 2025-07-29 13:12:39 +08:00
Make AWS Propagator tests more readable
This commit is contained in:
@ -45,7 +45,7 @@ def get_as_list(dict_object, key):
|
|||||||
# Inject Methods
|
# Inject Methods
|
||||||
|
|
||||||
|
|
||||||
def build_test_context(
|
def build_test_current_context(
|
||||||
trace_id=int(TRACE_ID_BASE16, 16),
|
trace_id=int(TRACE_ID_BASE16, 16),
|
||||||
span_id=int(SPAN_ID_BASE16, 16),
|
span_id=int(SPAN_ID_BASE16, 16),
|
||||||
is_remote=True,
|
is_remote=True,
|
||||||
@ -54,56 +54,31 @@ def build_test_context(
|
|||||||
):
|
):
|
||||||
return set_span_in_context(
|
return set_span_in_context(
|
||||||
trace_api.DefaultSpan(
|
trace_api.DefaultSpan(
|
||||||
SpanContext(
|
build_test_span_context(
|
||||||
trace_id, span_id, is_remote, trace_flags, trace_state,
|
trace_id, span_id, is_remote, trace_flags, trace_state
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
def build_dict_with_xray_trace_header(
|
|
||||||
trace_id="{}{}{}{}{}".format(
|
|
||||||
AwsXRayFormat.TRACE_ID_VERSION,
|
|
||||||
AwsXRayFormat.TRACE_ID_DELIMITER,
|
|
||||||
TRACE_ID_BASE16[: AwsXRayFormat.TRACE_ID_FIRST_PART_LENGTH],
|
|
||||||
AwsXRayFormat.TRACE_ID_DELIMITER,
|
|
||||||
TRACE_ID_BASE16[AwsXRayFormat.TRACE_ID_FIRST_PART_LENGTH :],
|
|
||||||
),
|
|
||||||
span_id=SPAN_ID_BASE16,
|
|
||||||
sampled="0",
|
|
||||||
):
|
|
||||||
carrier = CaseInsensitiveDict()
|
|
||||||
|
|
||||||
carrier[AwsXRayFormat.TRACE_HEADER_KEY] = "".join(
|
|
||||||
[
|
|
||||||
"{}{}{}{}".format(
|
|
||||||
AwsXRayFormat.TRACE_ID_KEY,
|
|
||||||
AwsXRayFormat.KEY_AND_VALUE_DELIMITER,
|
|
||||||
trace_id,
|
|
||||||
AwsXRayFormat.KV_PAIR_DELIMITER,
|
|
||||||
),
|
|
||||||
"{}{}{}{}".format(
|
|
||||||
AwsXRayFormat.PARENT_ID_KEY,
|
|
||||||
AwsXRayFormat.KEY_AND_VALUE_DELIMITER,
|
|
||||||
span_id,
|
|
||||||
AwsXRayFormat.KV_PAIR_DELIMITER,
|
|
||||||
),
|
|
||||||
"{}{}{}".format(
|
|
||||||
AwsXRayFormat.SAMPLED_FLAG_KEY,
|
|
||||||
AwsXRayFormat.KEY_AND_VALUE_DELIMITER,
|
|
||||||
sampled,
|
|
||||||
),
|
|
||||||
]
|
|
||||||
)
|
|
||||||
|
|
||||||
return carrier
|
|
||||||
|
|
||||||
|
|
||||||
# Extract Methods
|
# Extract Methods
|
||||||
|
|
||||||
|
|
||||||
def get_extracted_span_context(encompassing_context):
|
def get_nested_span_context(parent_context):
|
||||||
return trace_api.get_current_span(encompassing_context).get_span_context()
|
return trace_api.get_current_span(parent_context).get_span_context()
|
||||||
|
|
||||||
|
|
||||||
|
# Helper Methods
|
||||||
|
|
||||||
|
|
||||||
|
def build_test_span_context(
|
||||||
|
trace_id=int(TRACE_ID_BASE16, 16),
|
||||||
|
span_id=int(SPAN_ID_BASE16, 16),
|
||||||
|
is_remote=True,
|
||||||
|
trace_flags=DEFAULT_TRACE_OPTIONS,
|
||||||
|
trace_state=DEFAULT_TRACE_STATE,
|
||||||
|
):
|
||||||
|
return SpanContext(trace_id, span_id, is_remote, trace_flags, trace_state,)
|
||||||
|
|
||||||
|
|
||||||
class AwsXRayPropagatorTest(unittest.TestCase):
|
class AwsXRayPropagatorTest(unittest.TestCase):
|
||||||
@ -117,259 +92,266 @@ class AwsXRayPropagatorTest(unittest.TestCase):
|
|||||||
carrier = CaseInsensitiveDict()
|
carrier = CaseInsensitiveDict()
|
||||||
|
|
||||||
AwsXRayPropagatorTest.XRAY_PROPAGATOR.inject(
|
AwsXRayPropagatorTest.XRAY_PROPAGATOR.inject(
|
||||||
AwsXRayPropagatorTest.carrier_setter, carrier, build_test_context()
|
AwsXRayPropagatorTest.carrier_setter,
|
||||||
|
carrier,
|
||||||
|
build_test_current_context(),
|
||||||
)
|
)
|
||||||
|
|
||||||
self.assertTrue(
|
injected_items = set(carrier.items())
|
||||||
set(carrier.items()).issubset(
|
expected_items = set(
|
||||||
set(build_dict_with_xray_trace_header().items())
|
CaseInsensitiveDict(
|
||||||
),
|
{
|
||||||
"Failed to inject into context that was not yet sampled",
|
AwsXRayFormat.TRACE_HEADER_KEY: "Root=1-8a3c60f7-d188f8fa79d48a391a778fa6;Parent=53995c3f42cd8ad8;Sampled=0"
|
||||||
|
}
|
||||||
|
).items()
|
||||||
)
|
)
|
||||||
|
|
||||||
|
self.assertEqual(injected_items, expected_items)
|
||||||
|
|
||||||
def test_inject_into_sampled_context(self):
|
def test_inject_into_sampled_context(self):
|
||||||
carrier = CaseInsensitiveDict()
|
carrier = CaseInsensitiveDict()
|
||||||
|
|
||||||
AwsXRayPropagatorTest.XRAY_PROPAGATOR.inject(
|
AwsXRayPropagatorTest.XRAY_PROPAGATOR.inject(
|
||||||
AwsXRayPropagatorTest.carrier_setter,
|
AwsXRayPropagatorTest.carrier_setter,
|
||||||
carrier,
|
carrier,
|
||||||
build_test_context(trace_flags=TraceFlags(TraceFlags.SAMPLED)),
|
build_test_current_context(
|
||||||
|
trace_flags=TraceFlags(TraceFlags.SAMPLED)
|
||||||
|
),
|
||||||
)
|
)
|
||||||
|
|
||||||
self.assertTrue(
|
injected_items = set(carrier.items())
|
||||||
set(carrier.items()).issubset(
|
expected_items = set(
|
||||||
set(build_dict_with_xray_trace_header(sampled="1").items(),)
|
CaseInsensitiveDict(
|
||||||
),
|
{
|
||||||
"Failed to inject into context that was already sampled",
|
AwsXRayFormat.TRACE_HEADER_KEY: "Root=1-8a3c60f7-d188f8fa79d48a391a778fa6;Parent=53995c3f42cd8ad8;Sampled=1"
|
||||||
|
}
|
||||||
|
).items()
|
||||||
)
|
)
|
||||||
|
|
||||||
|
self.assertEqual(injected_items, expected_items)
|
||||||
|
|
||||||
def test_inject_into_context_with_non_default_state(self):
|
def test_inject_into_context_with_non_default_state(self):
|
||||||
carrier = CaseInsensitiveDict()
|
carrier = CaseInsensitiveDict()
|
||||||
|
|
||||||
AwsXRayPropagatorTest.XRAY_PROPAGATOR.inject(
|
AwsXRayPropagatorTest.XRAY_PROPAGATOR.inject(
|
||||||
AwsXRayPropagatorTest.carrier_setter,
|
AwsXRayPropagatorTest.carrier_setter,
|
||||||
carrier,
|
carrier,
|
||||||
build_test_context(trace_state=TraceState({"foo": "bar"})),
|
build_test_current_context(trace_state=TraceState({"foo": "bar"})),
|
||||||
)
|
)
|
||||||
|
|
||||||
# TODO: (NathanielRN) Assert trace state when the propagator supports it
|
# TODO: (NathanielRN) Assert trace state when the propagator supports it
|
||||||
self.assertTrue(
|
injected_items = set(carrier.items())
|
||||||
set(carrier.items()).issubset(
|
expected_items = set(
|
||||||
set(build_dict_with_xray_trace_header().items(),)
|
CaseInsensitiveDict(
|
||||||
),
|
{
|
||||||
"Failed to inject into context with non default state",
|
AwsXRayFormat.TRACE_HEADER_KEY: "Root=1-8a3c60f7-d188f8fa79d48a391a778fa6;Parent=53995c3f42cd8ad8;Sampled=0"
|
||||||
|
}
|
||||||
|
).items()
|
||||||
)
|
)
|
||||||
|
|
||||||
|
self.assertEqual(injected_items, expected_items)
|
||||||
|
|
||||||
# Extract Tests
|
# Extract Tests
|
||||||
|
|
||||||
def test_extract_empty_carrier_from_none_carrier(self):
|
|
||||||
actual_context_encompassing_extracted = AwsXRayPropagatorTest.XRAY_PROPAGATOR.extract(
|
|
||||||
AwsXRayPropagatorTest.carrier_getter, CaseInsensitiveDict()
|
|
||||||
)
|
|
||||||
|
|
||||||
self.assertEqual(
|
|
||||||
get_extracted_span_context(actual_context_encompassing_extracted),
|
|
||||||
INVALID_SPAN_CONTEXT,
|
|
||||||
)
|
|
||||||
|
|
||||||
def test_extract_empty_carrier_from_invalid_context(self):
|
def test_extract_empty_carrier_from_invalid_context(self):
|
||||||
actual_context_encompassing_extracted = AwsXRayPropagatorTest.XRAY_PROPAGATOR.extract(
|
context_with_extracted = AwsXRayPropagatorTest.XRAY_PROPAGATOR.extract(
|
||||||
AwsXRayPropagatorTest.carrier_getter, CaseInsensitiveDict()
|
AwsXRayPropagatorTest.carrier_getter, CaseInsensitiveDict()
|
||||||
)
|
)
|
||||||
|
|
||||||
self.assertEqual(
|
self.assertEqual(
|
||||||
get_extracted_span_context(actual_context_encompassing_extracted),
|
get_nested_span_context(context_with_extracted),
|
||||||
INVALID_SPAN_CONTEXT,
|
INVALID_SPAN_CONTEXT,
|
||||||
)
|
)
|
||||||
|
|
||||||
def test_extract_not_sampled_context(self):
|
def test_extract_not_sampled_context(self):
|
||||||
actual_context_encompassing_extracted = AwsXRayPropagatorTest.XRAY_PROPAGATOR.extract(
|
context_with_extracted = AwsXRayPropagatorTest.XRAY_PROPAGATOR.extract(
|
||||||
AwsXRayPropagatorTest.carrier_getter,
|
AwsXRayPropagatorTest.carrier_getter,
|
||||||
build_dict_with_xray_trace_header(),
|
CaseInsensitiveDict(
|
||||||
|
{
|
||||||
|
AwsXRayFormat.TRACE_HEADER_KEY: "Root=1-8a3c60f7-d188f8fa79d48a391a778fa6;Parent=53995c3f42cd8ad8;Sampled=0"
|
||||||
|
}
|
||||||
|
),
|
||||||
)
|
)
|
||||||
|
|
||||||
self.assertEqual(
|
self.assertEqual(
|
||||||
get_extracted_span_context(actual_context_encompassing_extracted),
|
get_nested_span_context(context_with_extracted),
|
||||||
get_extracted_span_context(build_test_context()),
|
build_test_span_context(),
|
||||||
)
|
)
|
||||||
|
|
||||||
def test_extract_sampled_context(self):
|
def test_extract_sampled_context(self):
|
||||||
actual_context_encompassing_extracted = AwsXRayPropagatorTest.XRAY_PROPAGATOR.extract(
|
context_with_extracted = AwsXRayPropagatorTest.XRAY_PROPAGATOR.extract(
|
||||||
AwsXRayPropagatorTest.carrier_getter,
|
AwsXRayPropagatorTest.carrier_getter,
|
||||||
build_dict_with_xray_trace_header(sampled="1"),
|
CaseInsensitiveDict(
|
||||||
|
{
|
||||||
|
AwsXRayFormat.TRACE_HEADER_KEY: "Root=1-8a3c60f7-d188f8fa79d48a391a778fa6;Parent=53995c3f42cd8ad8;Sampled=1"
|
||||||
|
}
|
||||||
|
),
|
||||||
)
|
)
|
||||||
|
|
||||||
self.assertEqual(
|
self.assertEqual(
|
||||||
get_extracted_span_context(actual_context_encompassing_extracted),
|
get_nested_span_context(context_with_extracted),
|
||||||
get_extracted_span_context(
|
build_test_span_context(
|
||||||
build_test_context(trace_flags=TraceFlags(TraceFlags.SAMPLED))
|
trace_flags=TraceFlags(TraceFlags.SAMPLED)
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
|
||||||
def test_extract_different_order(self):
|
def test_extract_different_order(self):
|
||||||
default_xray_trace_header_dict = build_dict_with_xray_trace_header()
|
context_with_extracted = AwsXRayPropagatorTest.XRAY_PROPAGATOR.extract(
|
||||||
trace_header_components = default_xray_trace_header_dict[
|
|
||||||
AwsXRayFormat.TRACE_HEADER_KEY
|
|
||||||
].split(AwsXRayFormat.KV_PAIR_DELIMITER)
|
|
||||||
reversed_trace_header_components = AwsXRayFormat.KV_PAIR_DELIMITER.join(
|
|
||||||
trace_header_components[::-1]
|
|
||||||
)
|
|
||||||
xray_trace_header_dict_in_different_order = CaseInsensitiveDict(
|
|
||||||
{AwsXRayFormat.TRACE_HEADER_KEY: reversed_trace_header_components}
|
|
||||||
)
|
|
||||||
actual_context_encompassing_extracted = AwsXRayPropagatorTest.XRAY_PROPAGATOR.extract(
|
|
||||||
AwsXRayPropagatorTest.carrier_getter,
|
AwsXRayPropagatorTest.carrier_getter,
|
||||||
xray_trace_header_dict_in_different_order,
|
CaseInsensitiveDict(
|
||||||
|
{
|
||||||
|
AwsXRayFormat.TRACE_HEADER_KEY: "Sampled=0;Parent=53995c3f42cd8ad8;Root=1-8a3c60f7-d188f8fa79d48a391a778fa6"
|
||||||
|
}
|
||||||
|
),
|
||||||
)
|
)
|
||||||
|
|
||||||
self.assertEqual(
|
self.assertEqual(
|
||||||
get_extracted_span_context(actual_context_encompassing_extracted),
|
get_nested_span_context(context_with_extracted),
|
||||||
get_extracted_span_context(build_test_context()),
|
build_test_span_context(),
|
||||||
)
|
)
|
||||||
|
|
||||||
def test_extract_with_additional_fields(self):
|
def test_extract_with_additional_fields(self):
|
||||||
default_xray_trace_header_dict = build_dict_with_xray_trace_header()
|
context_with_extracted = AwsXRayPropagatorTest.XRAY_PROPAGATOR.extract(
|
||||||
xray_trace_header_dict_with_extra_fields = CaseInsensitiveDict(
|
|
||||||
{
|
|
||||||
AwsXRayFormat.TRACE_HEADER_KEY: default_xray_trace_header_dict[
|
|
||||||
AwsXRayFormat.TRACE_HEADER_KEY
|
|
||||||
]
|
|
||||||
+ ";Foo=Bar"
|
|
||||||
}
|
|
||||||
)
|
|
||||||
actual_context_encompassing_extracted = AwsXRayPropagatorTest.XRAY_PROPAGATOR.extract(
|
|
||||||
AwsXRayPropagatorTest.carrier_getter,
|
AwsXRayPropagatorTest.carrier_getter,
|
||||||
xray_trace_header_dict_with_extra_fields,
|
CaseInsensitiveDict(
|
||||||
|
{
|
||||||
|
AwsXRayFormat.TRACE_HEADER_KEY: "Root=1-8a3c60f7-d188f8fa79d48a391a778fa6;Parent=53995c3f42cd8ad8;Sampled=0;Foo=Bar"
|
||||||
|
}
|
||||||
|
),
|
||||||
)
|
)
|
||||||
|
|
||||||
self.assertEqual(
|
self.assertEqual(
|
||||||
get_extracted_span_context(actual_context_encompassing_extracted),
|
get_nested_span_context(context_with_extracted),
|
||||||
get_extracted_span_context(build_test_context()),
|
build_test_span_context(),
|
||||||
)
|
)
|
||||||
|
|
||||||
def test_extract_with_extra_whitespace(self):
|
def test_extract_with_extra_whitespace(self):
|
||||||
default_xray_trace_header_dict = build_dict_with_xray_trace_header()
|
context_with_extracted = AwsXRayPropagatorTest.XRAY_PROPAGATOR.extract(
|
||||||
trace_header_components = default_xray_trace_header_dict[
|
|
||||||
AwsXRayFormat.TRACE_HEADER_KEY
|
|
||||||
].split(AwsXRayFormat.KV_PAIR_DELIMITER)
|
|
||||||
xray_trace_header_dict_with_extra_whitespace = CaseInsensitiveDict(
|
|
||||||
{
|
|
||||||
AwsXRayFormat.TRACE_HEADER_KEY: AwsXRayFormat.KV_PAIR_DELIMITER.join(
|
|
||||||
[
|
|
||||||
AwsXRayFormat.KEY_AND_VALUE_DELIMITER.join(
|
|
||||||
[
|
|
||||||
" " + key + " ",
|
|
||||||
" " + value + " ",
|
|
||||||
]
|
|
||||||
)
|
|
||||||
for kv_pair_str in trace_header_components
|
|
||||||
for key, value in [
|
|
||||||
kv_pair_str.split(
|
|
||||||
AwsXRayFormat.KEY_AND_VALUE_DELIMITER
|
|
||||||
)
|
|
||||||
]
|
|
||||||
]
|
|
||||||
)
|
|
||||||
}
|
|
||||||
)
|
|
||||||
actual_context_encompassing_extracted = AwsXRayPropagatorTest.XRAY_PROPAGATOR.extract(
|
|
||||||
AwsXRayPropagatorTest.carrier_getter,
|
AwsXRayPropagatorTest.carrier_getter,
|
||||||
xray_trace_header_dict_with_extra_whitespace,
|
CaseInsensitiveDict(
|
||||||
|
{
|
||||||
|
AwsXRayFormat.TRACE_HEADER_KEY: " Root = 1-8a3c60f7-d188f8fa79d48a391a778fa6 ; Parent = 53995c3f42cd8ad8 ; Sampled = 0 "
|
||||||
|
}
|
||||||
|
),
|
||||||
)
|
)
|
||||||
|
|
||||||
self.assertEqual(
|
self.assertEqual(
|
||||||
get_extracted_span_context(actual_context_encompassing_extracted),
|
get_nested_span_context(context_with_extracted),
|
||||||
get_extracted_span_context(build_test_context()),
|
build_test_span_context(),
|
||||||
)
|
)
|
||||||
|
|
||||||
def test_extract_invalid_xray_trace_header(self):
|
def test_extract_invalid_xray_trace_header(self):
|
||||||
actual_context_encompassing_extracted = AwsXRayPropagatorTest.XRAY_PROPAGATOR.extract(
|
context_with_extracted = AwsXRayPropagatorTest.XRAY_PROPAGATOR.extract(
|
||||||
AwsXRayPropagatorTest.carrier_getter,
|
AwsXRayPropagatorTest.carrier_getter,
|
||||||
CaseInsensitiveDict({AwsXRayFormat.TRACE_HEADER_KEY: ""}),
|
CaseInsensitiveDict({AwsXRayFormat.TRACE_HEADER_KEY: ""}),
|
||||||
)
|
)
|
||||||
|
|
||||||
self.assertEqual(
|
self.assertEqual(
|
||||||
get_extracted_span_context(actual_context_encompassing_extracted),
|
get_nested_span_context(context_with_extracted),
|
||||||
INVALID_SPAN_CONTEXT,
|
INVALID_SPAN_CONTEXT,
|
||||||
)
|
)
|
||||||
|
|
||||||
def test_extract_invalid_trace_id(self):
|
def test_extract_invalid_trace_id(self):
|
||||||
actual_context_encompassing_extracted = AwsXRayPropagatorTest.XRAY_PROPAGATOR.extract(
|
context_with_extracted = AwsXRayPropagatorTest.XRAY_PROPAGATOR.extract(
|
||||||
AwsXRayPropagatorTest.carrier_getter,
|
AwsXRayPropagatorTest.carrier_getter,
|
||||||
build_dict_with_xray_trace_header(
|
CaseInsensitiveDict(
|
||||||
trace_id="abcdefghijklmnopqrstuvwxyz123456"
|
{
|
||||||
|
AwsXRayFormat.TRACE_HEADER_KEY: "Root=1-12345678-abcdefghijklmnopqrstuvwx;Parent=53995c3f42cd8ad8;Sampled=0"
|
||||||
|
}
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
|
||||||
self.assertEqual(
|
self.assertEqual(
|
||||||
get_extracted_span_context(actual_context_encompassing_extracted),
|
get_nested_span_context(context_with_extracted),
|
||||||
INVALID_SPAN_CONTEXT,
|
INVALID_SPAN_CONTEXT,
|
||||||
)
|
)
|
||||||
|
|
||||||
def test_extract_invalid_trace_id_size(self):
|
def test_extract_invalid_trace_id_size(self):
|
||||||
actual_context_encompassing_extracted = AwsXRayPropagatorTest.XRAY_PROPAGATOR.extract(
|
context_with_extracted = AwsXRayPropagatorTest.XRAY_PROPAGATOR.extract(
|
||||||
AwsXRayPropagatorTest.carrier_getter,
|
AwsXRayPropagatorTest.carrier_getter,
|
||||||
build_dict_with_xray_trace_header(
|
CaseInsensitiveDict(
|
||||||
trace_id="1-8a3c60f7-d188f8fa79d48a391a778fa600"
|
{
|
||||||
|
AwsXRayFormat.TRACE_HEADER_KEY: "Root=1-8a3c60f7-d188f8fa79d48a391a778fa600;Parent=53995c3f42cd8ad8;Sampled=0="
|
||||||
|
}
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
|
||||||
self.assertEqual(
|
self.assertEqual(
|
||||||
get_extracted_span_context(actual_context_encompassing_extracted),
|
get_nested_span_context(context_with_extracted),
|
||||||
INVALID_SPAN_CONTEXT,
|
INVALID_SPAN_CONTEXT,
|
||||||
)
|
)
|
||||||
|
|
||||||
def test_extract_invalid_span_id(self):
|
def test_extract_invalid_span_id(self):
|
||||||
actual_context_encompassing_extracted = AwsXRayPropagatorTest.XRAY_PROPAGATOR.extract(
|
context_with_extracted = AwsXRayPropagatorTest.XRAY_PROPAGATOR.extract(
|
||||||
AwsXRayPropagatorTest.carrier_getter,
|
AwsXRayPropagatorTest.carrier_getter,
|
||||||
build_dict_with_xray_trace_header(span_id="abcdefghijklmnop"),
|
CaseInsensitiveDict(
|
||||||
|
{
|
||||||
|
AwsXRayFormat.TRACE_HEADER_KEY: "Root=1-8a3c60f7-d188f8fa79d48a391a778fa6;Parent=abcdefghijklmnop;Sampled=0"
|
||||||
|
}
|
||||||
|
),
|
||||||
)
|
)
|
||||||
|
|
||||||
self.assertEqual(
|
self.assertEqual(
|
||||||
get_extracted_span_context(actual_context_encompassing_extracted),
|
get_nested_span_context(context_with_extracted),
|
||||||
INVALID_SPAN_CONTEXT,
|
INVALID_SPAN_CONTEXT,
|
||||||
)
|
)
|
||||||
|
|
||||||
def test_extract_invalid_span_id_size(self):
|
def test_extract_invalid_span_id_size(self):
|
||||||
actual_context_encompassing_extracted = AwsXRayPropagatorTest.XRAY_PROPAGATOR.extract(
|
context_with_extracted = AwsXRayPropagatorTest.XRAY_PROPAGATOR.extract(
|
||||||
AwsXRayPropagatorTest.carrier_getter,
|
AwsXRayPropagatorTest.carrier_getter,
|
||||||
build_dict_with_xray_trace_header(span_id="53995c3f42cd8ad800"),
|
CaseInsensitiveDict(
|
||||||
|
{
|
||||||
|
AwsXRayFormat.TRACE_HEADER_KEY: "Root=1-8a3c60f7-d188f8fa79d48a391a778fa6;Parent=53995c3f42cd8ad800;Sampled=0"
|
||||||
|
}
|
||||||
|
),
|
||||||
)
|
)
|
||||||
|
|
||||||
self.assertEqual(
|
self.assertEqual(
|
||||||
get_extracted_span_context(actual_context_encompassing_extracted),
|
get_nested_span_context(context_with_extracted),
|
||||||
INVALID_SPAN_CONTEXT,
|
INVALID_SPAN_CONTEXT,
|
||||||
)
|
)
|
||||||
|
|
||||||
def test_extract_invalid_empty_sampled_flag(self):
|
def test_extract_invalid_empty_sampled_flag(self):
|
||||||
actual_context_encompassing_extracted = AwsXRayPropagatorTest.XRAY_PROPAGATOR.extract(
|
context_with_extracted = AwsXRayPropagatorTest.XRAY_PROPAGATOR.extract(
|
||||||
AwsXRayPropagatorTest.carrier_getter,
|
AwsXRayPropagatorTest.carrier_getter,
|
||||||
build_dict_with_xray_trace_header(sampled=""),
|
CaseInsensitiveDict(
|
||||||
|
{
|
||||||
|
AwsXRayFormat.TRACE_HEADER_KEY: "Root=1-8a3c60f7-d188f8fa79d48a391a778fa6;Parent=53995c3f42cd8ad8;Sampled="
|
||||||
|
}
|
||||||
|
),
|
||||||
)
|
)
|
||||||
|
|
||||||
self.assertEqual(
|
self.assertEqual(
|
||||||
get_extracted_span_context(actual_context_encompassing_extracted),
|
get_nested_span_context(context_with_extracted),
|
||||||
INVALID_SPAN_CONTEXT,
|
INVALID_SPAN_CONTEXT,
|
||||||
)
|
)
|
||||||
|
|
||||||
def test_extract_invalid_sampled_flag_size(self):
|
def test_extract_invalid_sampled_flag_size(self):
|
||||||
actual_context_encompassing_extracted = AwsXRayPropagatorTest.XRAY_PROPAGATOR.extract(
|
context_with_extracted = AwsXRayPropagatorTest.XRAY_PROPAGATOR.extract(
|
||||||
AwsXRayPropagatorTest.carrier_getter,
|
AwsXRayPropagatorTest.carrier_getter,
|
||||||
build_dict_with_xray_trace_header(sampled="10002"),
|
CaseInsensitiveDict(
|
||||||
|
{
|
||||||
|
AwsXRayFormat.TRACE_HEADER_KEY: "Root=1-8a3c60f7-d188f8fa79d48a391a778fa6;Parent=53995c3f42cd8ad8;Sampled=011"
|
||||||
|
}
|
||||||
|
),
|
||||||
)
|
)
|
||||||
|
|
||||||
self.assertEqual(
|
self.assertEqual(
|
||||||
get_extracted_span_context(actual_context_encompassing_extracted),
|
get_nested_span_context(context_with_extracted),
|
||||||
INVALID_SPAN_CONTEXT,
|
INVALID_SPAN_CONTEXT,
|
||||||
)
|
)
|
||||||
|
|
||||||
def test_extract_invalid_non_numeric_sampled_flag(self):
|
def test_extract_invalid_non_numeric_sampled_flag(self):
|
||||||
actual_context_encompassing_extracted = AwsXRayPropagatorTest.XRAY_PROPAGATOR.extract(
|
context_with_extracted = AwsXRayPropagatorTest.XRAY_PROPAGATOR.extract(
|
||||||
AwsXRayPropagatorTest.carrier_getter,
|
AwsXRayPropagatorTest.carrier_getter,
|
||||||
build_dict_with_xray_trace_header(sampled="a"),
|
CaseInsensitiveDict(
|
||||||
|
{
|
||||||
|
AwsXRayFormat.TRACE_HEADER_KEY: "Root=1-8a3c60f7-d188f8fa79d48a391a778fa6;Parent=53995c3f42cd8ad8;Sampled=a"
|
||||||
|
}
|
||||||
|
),
|
||||||
)
|
)
|
||||||
|
|
||||||
self.assertEqual(
|
self.assertEqual(
|
||||||
get_extracted_span_context(actual_context_encompassing_extracted),
|
get_nested_span_context(context_with_extracted),
|
||||||
INVALID_SPAN_CONTEXT,
|
INVALID_SPAN_CONTEXT,
|
||||||
)
|
)
|
||||||
|
Reference in New Issue
Block a user