20
20
from werkzeug .wrappers import BaseResponse
21
21
22
22
import opentelemetry_example_app .flask_example as flask_example
23
- from opentelemetry . sdk import trace
24
- from opentelemetry .sdk . context . propagation import b3_format
23
+ from opentelemetry import trace
24
+ from opentelemetry .sdk import trace as trace_sdk
25
25
26
26
27
27
class TestFlaskExample (unittest .TestCase ):
@@ -46,7 +46,7 @@ def tearDown(self):
46
46
self .send_patcher .stop ()
47
47
48
48
def test_full_path (self ):
49
- trace_id = trace .generate_trace_id ()
49
+ trace_id = trace_sdk .generate_trace_id ()
50
50
# We need to use the Werkzeug test app because
51
51
# The headers are injected at the wsgi layer.
52
52
# The flask test app will not include these, and
@@ -56,18 +56,17 @@ def test_full_path(self):
56
56
client .get (
57
57
"/" ,
58
58
headers = {
59
- "x-b3-traceid " : b3_format . format_trace_id ( trace_id ),
60
- "x-b3-spanid" : b3_format . format_span_id (
61
- trace .generate_span_id ()
62
- ) ,
63
- "x-b3-sampled" : "1" ,
59
+ "traceparent " : "00-{:032x}-{:016x}-{:02x}" . format (
60
+ trace_id ,
61
+ trace_sdk .generate_span_id (),
62
+ trace . TraceOptions . SAMPLED ,
63
+ )
64
64
},
65
65
)
66
66
# assert the http request header was propagated through.
67
67
prepared_request = self .send .call_args [0 ][1 ]
68
68
headers = prepared_request .headers
69
- for required_header in {"x-b3-traceid" , "x-b3-spanid" , "x-b3-sampled" }:
70
- self .assertIn (required_header , headers )
71
- self .assertEqual (
72
- headers ["x-b3-traceid" ], b3_format .format_trace_id (trace_id )
69
+ self .assertRegex (
70
+ headers ["traceparent" ],
71
+ r"00-{:032x}-[0-9a-f]{{16}}-01" .format (trace_id ),
73
72
)
0 commit comments