@@ -13,6 +13,16 @@ def test_validate_valid(self):
13
13
traceparent = "00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01"
14
14
self .assertEqual (traceparent , self .tp .validate (traceparent ))
15
15
16
+ def test_validate_newer_version (self ):
17
+ # Although the incoming traceparent header sports a newer version number, we should still be able to parse the
18
+ # parts that we understand (and consider it valid).
19
+ traceparent = "ff-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01-12345-abcd"
20
+ self .assertEqual (traceparent , self .tp .validate (traceparent ))
21
+
22
+ def test_validate_unknown_flags (self ):
23
+ traceparent = "00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-ee"
24
+ self .assertEqual (traceparent , self .tp .validate (traceparent ))
25
+
16
26
def test_validate_invalid_traceparent (self ):
17
27
traceparent = "00-4bxxxxx3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01"
18
28
self .assertIsNone (self .tp .validate (traceparent ))
@@ -35,6 +45,22 @@ def test_get_traceparent_fields_unsampled(self):
35
45
self .assertEqual (parent_id , "00f067aa0ba902b7" )
36
46
self .assertFalse (sampled_flag )
37
47
48
+ def test_get_traceparent_fields_newer_version (self ):
49
+ # Although the incoming traceparent header sports a newer version number, we should still be able to parse the
50
+ # parts that we understand (and consider it valid).
51
+ traceparent = "ff-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01-12345-abcd"
52
+ version , trace_id , parent_id , sampled_flag = self .tp .get_traceparent_fields (traceparent )
53
+ self .assertEqual (trace_id , "4bf92f3577b34da6a3ce929d0e0e4736" )
54
+ self .assertEqual (parent_id , "00f067aa0ba902b7" )
55
+ self .assertTrue (sampled_flag )
56
+
57
+ def test_get_traceparent_fields_unknown_flags (self ):
58
+ traceparent = "00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-ff"
59
+ version , trace_id , parent_id , sampled_flag = self .tp .get_traceparent_fields (traceparent )
60
+ self .assertEqual (trace_id , "4bf92f3577b34da6a3ce929d0e0e4736" )
61
+ self .assertEqual (parent_id , "00f067aa0ba902b7" )
62
+ self .assertTrue (sampled_flag )
63
+
38
64
def test_get_traceparent_fields_None_input (self ):
39
65
traceparent = None
40
66
version , trace_id , parent_id , sampled_flag = self .tp .get_traceparent_fields (traceparent )
0 commit comments