Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions tests/integration/test_base_sw_headers_attrs.py
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,21 @@ class TestBaseSwHeadersAndAttributes(TestBase):
"SampleSource"
]

@staticmethod
def assert_valid_trace_flags(trace_flags: str):
"""Assert trace flags are one of the explicitly supported lowercase values."""
assert trace_flags in {"00", "01", "02", "03"}

def assert_trace_flags_sampled(self, trace_flags: str):
"""Assert trace flags are one of the explicitly sampled values."""
self.assert_valid_trace_flags(trace_flags)
assert trace_flags in {"01", "03"}

def assert_trace_flags_not_sampled(self, trace_flags: str):
"""Assert trace flags are one of the explicitly not-sampled values."""
self.assert_valid_trace_flags(trace_flags)
assert trace_flags in {"00", "02"}

@staticmethod
def _test_trace():
incoming_headers = {}
Expand Down
1 change: 1 addition & 0 deletions tests/integration/test_scenario_1.py
Original file line number Diff line number Diff line change
Expand Up @@ -94,6 +94,7 @@ def test_scenario_1_sampled(self):
assert new_span_id is not None
new_trace_flags = traceparent_re_result.group(4)
assert new_trace_flags == "01"
self.assert_trace_flags_sampled(new_trace_flags)

assert "tracestate" in resp_json
# In this test we know there is only `sw` in tracestate
Expand Down
4 changes: 4 additions & 0 deletions tests/integration/test_scenario_4.py
Original file line number Diff line number Diff line change
Expand Up @@ -104,6 +104,8 @@ def test_scenario_4_sampled(self):
assert new_span_id is not None
new_trace_flags = traceparent_re_result.group(4)
assert new_trace_flags == trace_flags
self.assert_valid_trace_flags(new_trace_flags)
assert int(new_trace_flags, 16) & 0x01 == int(trace_flags, 16) & 0x01
Comment thread
tammy-baylis-swi marked this conversation as resolved.

assert "tracestate" in resp_json
# In this test we know there is only `sw` in tracestate
Expand Down Expand Up @@ -254,6 +256,8 @@ def test_scenario_4_not_sampled(self):
assert new_span_id is not None
new_trace_flags = traceparent_re_result.group(4)
assert new_trace_flags == trace_flags
self.assert_valid_trace_flags(new_trace_flags)
assert int(new_trace_flags, 16) & 0x01 == int(trace_flags, 16) & 0x01
Comment thread
tammy-baylis-swi marked this conversation as resolved.

assert "tracestate" in resp_json
# In this test we know there is only `sw` in tracestate
Expand Down
11 changes: 10 additions & 1 deletion tests/integration/test_scenario_8.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@
from unittest import mock

from opentelemetry import trace as trace_api
from unittest import mock

from .test_base_sw_headers_attrs import TestBaseSwHeadersAndAttributes

Expand Down Expand Up @@ -112,6 +111,8 @@ def test_sampled_both_trace_context_and_xtraceoptions_valid(self):
assert new_span_id is not None
new_trace_flags = traceparent_re_result.group(4)
assert new_trace_flags == trace_flags
self.assert_valid_trace_flags(new_trace_flags)
assert int(new_trace_flags, 16) & 0x01 == int(trace_flags, 16) & 0x01
Comment thread
tammy-baylis-swi marked this conversation as resolved.

assert "tracestate" in resp_json
# In this test we know tracestate will have `sw`
Expand Down Expand Up @@ -308,6 +309,8 @@ def test_not_sampled_both_trace_context_and_xtraceoptions_valid(self):
assert new_span_id is not None
new_trace_flags = traceparent_re_result.group(4)
assert new_trace_flags == trace_flags
self.assert_valid_trace_flags(new_trace_flags)
assert int(new_trace_flags, 16) & 0x01 == int(trace_flags, 16) & 0x01
Comment thread
tammy-baylis-swi marked this conversation as resolved.

assert "tracestate" in resp_json
# In this test we know tracestate will have `sw`
Expand Down Expand Up @@ -440,6 +443,8 @@ def test_sampled_both_trace_context_and_xtraceoptions_valid_without_tt(self):
assert new_span_id is not None
new_trace_flags = traceparent_re_result.group(4)
assert new_trace_flags == trace_flags
self.assert_valid_trace_flags(new_trace_flags)
assert int(new_trace_flags, 16) & 0x01 == int(trace_flags, 16) & 0x01
Comment thread
tammy-baylis-swi marked this conversation as resolved.

assert "tracestate" in resp_json
# In this test we know there is `sw` in tracestate
Expand Down Expand Up @@ -636,6 +641,8 @@ def test_not_sampled_both_trace_context_and_xtraceoptions_valid_without_tt(self)
assert new_span_id is not None
new_trace_flags = traceparent_re_result.group(4)
assert new_trace_flags == trace_flags
self.assert_valid_trace_flags(new_trace_flags)
assert int(new_trace_flags, 16) & 0x01 == int(trace_flags, 16) & 0x01
Comment thread
tammy-baylis-swi marked this conversation as resolved.

assert "tracestate" in resp_json
# In this test we know there is `sw` in tracestate
Expand Down Expand Up @@ -758,6 +765,7 @@ def test_sampled_invalid_trace_context_and_valid_unsigned_with_tt(self):
assert new_span_id is not None
new_trace_flags = traceparent_re_result.group(4)
assert new_trace_flags == "01"
self.assert_trace_flags_sampled(new_trace_flags)

assert "tracestate" in resp_json
# In this test we know tracestate will have `sw`
Expand Down Expand Up @@ -933,6 +941,7 @@ def test_not_sampled_invalid_trace_context_and_valid_unsigned_with_tt(self):
assert new_span_id is not None
new_trace_flags = traceparent_re_result.group(4)
assert new_trace_flags == "00"
self.assert_trace_flags_not_sampled(new_trace_flags)

assert "tracestate" in resp_json
# In this test we know tracestate will have `sw`
Expand Down
9 changes: 9 additions & 0 deletions tests/integration/test_signed_tt.py
Original file line number Diff line number Diff line change
Expand Up @@ -105,6 +105,7 @@ def test_signed_with_tt_auth_ok(self):
assert new_span_id is not None
new_trace_flags = traceparent_re_result.group(4)
assert new_trace_flags == "01"
self.assert_trace_flags_sampled(new_trace_flags)

assert "tracestate" in resp_json
# In this test we know tracestate will have `sw`
Expand Down Expand Up @@ -282,6 +283,7 @@ def test_signed_without_tt_auth_ok(self):
assert new_span_id is not None
new_trace_flags = traceparent_re_result.group(4)
assert new_trace_flags == "01"
self.assert_trace_flags_sampled(new_trace_flags)

assert "tracestate" in resp_json
# In this test we know tracestate will have `sw`
Expand Down Expand Up @@ -455,6 +457,7 @@ def test_signed_with_tt_rate_exceeded(self):
assert new_span_id is not None
new_trace_flags = traceparent_re_result.group(4)
assert new_trace_flags == "00"
self.assert_trace_flags_not_sampled(new_trace_flags)

assert "tracestate" in resp_json
# In this test we know tracestate will have `sw`
Expand Down Expand Up @@ -560,6 +563,7 @@ def test_signed_with_tt_tracing_disabled(self):
assert new_span_id is not None
new_trace_flags = traceparent_re_result.group(4)
assert new_trace_flags == "00"
self.assert_trace_flags_not_sampled(new_trace_flags)

assert "tracestate" in resp_json
# In this test we know tracestate will have `sw`
Expand Down Expand Up @@ -660,6 +664,7 @@ def test_signed_with_tt_auth_fail(self):
assert new_span_id is not None
new_trace_flags = traceparent_re_result.group(4)
assert new_trace_flags == "00"
self.assert_trace_flags_not_sampled(new_trace_flags)

assert "tracestate" in resp_json
# In this test we know tracestate will have `sw`
Expand Down Expand Up @@ -760,6 +765,7 @@ def test_signed_without_tt_auth_fail(self):
assert new_span_id is not None
new_trace_flags = traceparent_re_result.group(4)
assert new_trace_flags == "00"
self.assert_trace_flags_not_sampled(new_trace_flags)

assert "tracestate" in resp_json
# In this test we know tracestate will have `sw`
Expand Down Expand Up @@ -865,6 +871,7 @@ def test_signed_with_tt_auth_fail_bad_ts(self):
assert new_span_id is not None
new_trace_flags = traceparent_re_result.group(4)
assert new_trace_flags == "00"
self.assert_trace_flags_not_sampled(new_trace_flags)

assert "tracestate" in resp_json
# In this test we know tracestate will have `sw`
Expand Down Expand Up @@ -969,6 +976,7 @@ def test_signed_without_tt_auth_fail_bad_ts(self):
assert new_span_id is not None
new_trace_flags = traceparent_re_result.group(4)
assert new_trace_flags == "00"
self.assert_trace_flags_not_sampled(new_trace_flags)

assert "tracestate" in resp_json
# In this test we know tracestate will have `sw`
Expand Down Expand Up @@ -1070,6 +1078,7 @@ def test_signed_missing_xtraceoptions_header(self):
assert new_span_id is not None
new_trace_flags = traceparent_re_result.group(4)
assert new_trace_flags == "00"
self.assert_trace_flags_not_sampled(new_trace_flags)

assert "tracestate" in resp_json
# In this test we know there is `sw` in tracestate
Expand Down
5 changes: 5 additions & 0 deletions tests/integration/test_unsigned_tt.py
Original file line number Diff line number Diff line change
Expand Up @@ -101,6 +101,7 @@ def test_unsigned_with_tt_sampled(self):
assert new_span_id is not None
new_trace_flags = traceparent_re_result.group(4)
assert new_trace_flags == "01"
self.assert_trace_flags_sampled(new_trace_flags)

assert "tracestate" in resp_json
# In this test we know tracestate will have `sw`
Expand Down Expand Up @@ -270,6 +271,7 @@ def test_unsigned_with_tt_not_sampled_rate_exceeded(self):
assert new_span_id is not None
new_trace_flags = traceparent_re_result.group(4)
assert new_trace_flags == "00"
self.assert_trace_flags_not_sampled(new_trace_flags)

assert "tracestate" in resp_json
# In this test we know tracestate will have `sw`
Expand Down Expand Up @@ -371,6 +373,7 @@ def test_unsigned_with_tt_not_sampled_tt_disabled(self):
assert new_span_id is not None
new_trace_flags = traceparent_re_result.group(4)
assert new_trace_flags == "00"
self.assert_trace_flags_not_sampled(new_trace_flags)

assert "tracestate" in resp_json
# In this test we know tracestate will have `sw`
Expand Down Expand Up @@ -472,6 +475,7 @@ def test_unsigned_without_tt_sampled(self):
assert new_span_id is not None
new_trace_flags = traceparent_re_result.group(4)
assert new_trace_flags == "01"
self.assert_trace_flags_sampled(new_trace_flags)

assert "tracestate" in resp_json
# In this test we know tracestate will have `sw`
Expand Down Expand Up @@ -645,6 +649,7 @@ def test_unsigned_without_tt_not_sampled_rate_exceeded(self):
assert new_span_id is not None
new_trace_flags = traceparent_re_result.group(4)
assert new_trace_flags == "00"
self.assert_trace_flags_not_sampled(new_trace_flags)

assert "tracestate" in resp_json
# In this test we know tracestate will have `sw`
Expand Down
1 change: 1 addition & 0 deletions tests/integration/test_xtraceoptions_validation.py
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,7 @@ def get_new_span_id_and_trace_flags(self, resp_json):
assert new_span_id is not None
new_trace_flags = traceparent_re_result.group(4)
assert new_trace_flags == "01"
self.assert_trace_flags_sampled(new_trace_flags)
return new_span_id, new_trace_flags

def check_some_header_ok(self, resp_json):
Expand Down
Loading