11# (c) Copyright IBM Corp. 2021
22# (c) Copyright Instana Inc. 2021
33
4- import pytest
54from instana .w3c_trace_context .traceparent import Traceparent
65import unittest
7-
6+ from instana . util . ids import header_to_long_id , header_to_id
87
98class TestTraceparent (unittest .TestCase ):
109 def setUp (self ):
1110 self .tp = Traceparent ()
11+ self .w3cTraceId = "4bf92f3577b34da6a3ce929d0e0e4736"
1212
1313 def test_validate_valid (self ):
14- traceparent = "00-4bf92f3577b34da6a3ce929d0e0e4736 -00f067aa0ba902b7-01"
14+ traceparent = f "00-{ self . w3cTraceId } -00f067aa0ba902b7-01"
1515 self .assertEqual (traceparent , self .tp .validate (traceparent ))
1616
1717 def test_validate_newer_version (self ):
1818 # Although the incoming traceparent header sports a newer version number, we should still be able to parse the
1919 # parts that we understand (and consider it valid).
20- traceparent = "fe-4bf92f3577b34da6a3ce929d0e0e4736 -00f067aa0ba902b7-01-12345-abcd"
20+ traceparent = f "fe-{ self . w3cTraceId } -00f067aa0ba902b7-01-12345-abcd"
2121 self .assertEqual (traceparent , self .tp .validate (traceparent ))
2222
2323 def test_validate_unknown_flags (self ):
24- traceparent = "00-4bf92f3577b34da6a3ce929d0e0e4736 -00f067aa0ba902b7-ee"
24+ traceparent = f "00-{ self . w3cTraceId } -00f067aa0ba902b7-ee"
2525 self .assertEqual (traceparent , self .tp .validate (traceparent ))
2626
2727 def test_validate_invalid_traceparent_version (self ):
28- traceparent = "ff-4bf92f3577b34da6a3ce929d0e0e4736 -00f067aa0ba902b7-01"
28+ traceparent = f "ff-{ self . w3cTraceId } -00f067aa0ba902b7-01"
2929 self .assertIsNone (self .tp .validate (traceparent ))
3030
3131 def test_validate_invalid_traceparent (self ):
@@ -37,32 +37,32 @@ def test_validate_traceparent_None(self):
3737 self .assertIsNone (self .tp .validate (traceparent ))
3838
3939 def test_get_traceparent_fields (self ):
40- traceparent = "00-4bf92f3577b34da6a3ce929d0e0e4736 -00f067aa0ba902b7-01"
40+ traceparent = f "00-{ self . w3cTraceId } -00f067aa0ba902b7-01"
4141 version , trace_id , parent_id , sampled_flag = self .tp .get_traceparent_fields (traceparent )
42- self .assertEqual (trace_id , 11803532876627986230 )
42+ self .assertEqual (trace_id , header_to_long_id ( self . w3cTraceId ) )
4343 self .assertEqual (parent_id , 67667974448284343 )
4444 self .assertTrue (sampled_flag )
4545
4646 def test_get_traceparent_fields_unsampled (self ):
47- traceparent = "00-4bf92f3577b34da6a3ce929d0e0e4736 -00f067aa0ba902b7-00"
47+ traceparent = f "00-{ self . w3cTraceId } -00f067aa0ba902b7-00"
4848 version , trace_id , parent_id , sampled_flag = self .tp .get_traceparent_fields (traceparent )
49- self .assertEqual (trace_id , 11803532876627986230 )
49+ self .assertEqual (trace_id , header_to_long_id ( self . w3cTraceId ) )
5050 self .assertEqual (parent_id , 67667974448284343 )
5151 self .assertFalse (sampled_flag )
5252
5353 def test_get_traceparent_fields_newer_version (self ):
5454 # Although the incoming traceparent header sports a newer version number, we should still be able to parse the
5555 # parts that we understand (and consider it valid).
56- traceparent = "fe-4bf92f3577b34da6a3ce929d0e0e4736 -00f067aa0ba902b7-01-12345-abcd"
56+ traceparent = f "fe-{ self . w3cTraceId } -00f067aa0ba902b7-01-12345-abcd"
5757 version , trace_id , parent_id , sampled_flag = self .tp .get_traceparent_fields (traceparent )
58- self .assertEqual (trace_id , 11803532876627986230 )
58+ self .assertEqual (trace_id , header_to_long_id ( self . w3cTraceId ) )
5959 self .assertEqual (parent_id , 67667974448284343 )
6060 self .assertTrue (sampled_flag )
6161
6262 def test_get_traceparent_fields_unknown_flags (self ):
63- traceparent = "00-4bf92f3577b34da6a3ce929d0e0e4736 -00f067aa0ba902b7-ff"
63+ traceparent = f "00-{ self . w3cTraceId } -00f067aa0ba902b7-ff"
6464 version , trace_id , parent_id , sampled_flag = self .tp .get_traceparent_fields (traceparent )
65- self .assertEqual (trace_id , 11803532876627986230 )
65+ self .assertEqual (trace_id , header_to_long_id ( self . w3cTraceId ) )
6666 self .assertEqual (parent_id , 67667974448284343 )
6767 self .assertTrue (sampled_flag )
6868
@@ -80,20 +80,18 @@ def test_get_traceparent_fields_string_input_no_dash(self):
8080 self .assertIsNone (parent_id )
8181 self .assertFalse (sampled_flag )
8282
83- @pytest .mark .skip ("Handled when type of trace and span ids are modified to str" )
8483 def test_update_traceparent (self ):
85- traceparent = "00-4bf92f3577b34da6a3ce929d0e0e4736 -00f067aa0ba902b7-01"
84+ traceparent = f "00-{ self . w3cTraceId } -00f067aa0ba902b7-01"
8685 in_trace_id = "1234d0e0e4736234"
8786 in_span_id = "1234567890abcdef"
8887 level = 1
8988 expected_traceparent = "00-4bf92f3577b34da6a3ce929d0e0e4736-1234567890abcdef-01"
90- self .assertEqual (expected_traceparent , self .tp .update_traceparent (traceparent , in_trace_id , in_span_id , level ))
89+ self .assertEqual (expected_traceparent , self .tp .update_traceparent (traceparent , in_trace_id , header_to_id ( in_span_id ) , level ))
9190
92- @pytest .mark .skip ("Handled when type of trace and span ids are modified to str" )
9391 def test_update_traceparent_None (self ):
9492 traceparent = None
9593 in_trace_id = "1234d0e0e4736234"
9694 in_span_id = "7890abcdef"
9795 level = 0
9896 expected_traceparent = "00-00000000000000001234d0e0e4736234-0000007890abcdef-00"
99- self .assertEqual (expected_traceparent , self .tp .update_traceparent (traceparent , in_trace_id , in_span_id , level ))
97+ self .assertEqual (expected_traceparent , self .tp .update_traceparent (traceparent , in_trace_id , header_to_id ( in_span_id ) , level ))
0 commit comments