@@ -14,6 +14,7 @@ class SpanPointersCase(NamedTuple):
1414 name : str 
1515 event_source : _EventSource 
1616 event : dict 
17+  dd_botocore_span_pointers : bool 
1718 span_pointers : List [_SpanPointerDescription ]
1819
1920 @pytest .mark .parametrize ( 
@@ -23,12 +24,14 @@ class SpanPointersCase(NamedTuple):
2324 name = "some unsupported event" , 
2425 event_source = _EventSource (EventTypes .UNKNOWN ), 
2526 event = {}, 
27+  dd_botocore_span_pointers = True , 
2628 span_pointers = [], 
2729 ), 
2830 SpanPointersCase ( 
2931 name = "empty s3 event" , 
3032 event_source = _EventSource (EventTypes .S3 ), 
3133 event = {}, 
34+  dd_botocore_span_pointers = True , 
3235 span_pointers = [], 
3336 ), 
3437 SpanPointersCase ( 
@@ -50,6 +53,7 @@ class SpanPointersCase(NamedTuple):
5053 }, 
5154 ], 
5255 }, 
56+  dd_botocore_span_pointers = True , 
5357 span_pointers = [ 
5458 _SpanPointerDescription ( 
5559 pointer_kind = "aws.s3.object" , 
@@ -59,6 +63,28 @@ class SpanPointersCase(NamedTuple):
5963 ), 
6064 ], 
6165 ), 
66+  SpanPointersCase ( 
67+  name = "sensible s3 event with dd_botocore_span_pointers disabled" , 
68+  event_source = _EventSource (EventTypes .S3 ), 
69+  event = { 
70+  "Records" : [ 
71+  { 
72+  "eventName" : "ObjectCreated:Put" , 
73+  "s3" : { 
74+  "bucket" : { 
75+  "name" : "mybucket" , 
76+  }, 
77+  "object" : { 
78+  "key" : "mykey" , 
79+  "eTag" : "123abc" , 
80+  }, 
81+  }, 
82+  }, 
83+  ], 
84+  }, 
85+  dd_botocore_span_pointers = False , 
86+  span_pointers = [], 
87+  ), 
6288 SpanPointersCase ( 
6389 name = "malformed s3 event" , 
6490 event_source = _EventSource (EventTypes .S3 ), 
@@ -78,12 +104,14 @@ class SpanPointersCase(NamedTuple):
78104 }, 
79105 ], 
80106 }, 
107+  dd_botocore_span_pointers = True , 
81108 span_pointers = [], 
82109 ), 
83110 SpanPointersCase ( 
84111 name = "empty dynamodb event" , 
85112 event_source = _EventSource (EventTypes .DYNAMODB ), 
86113 event = {}, 
114+  dd_botocore_span_pointers = True , 
87115 span_pointers = [], 
88116 ), 
89117 SpanPointersCase ( 
@@ -109,6 +137,7 @@ class SpanPointersCase(NamedTuple):
109137 }, 
110138 ], 
111139 }, 
140+  dd_botocore_span_pointers = True , 
112141 span_pointers = [ 
113142 _SpanPointerDescription ( 
114143 pointer_kind = "aws.dynamodb.item" , 
@@ -139,16 +168,18 @@ class SpanPointersCase(NamedTuple):
139168 }, 
140169 ], 
141170 }, 
171+  dd_botocore_span_pointers = True , 
142172 span_pointers = [], 
143173 ), 
144174 ], 
145175 ids = lambda  test_case : test_case .name , 
146176 ) 
147-  def  test_calculate_span_pointers (self , test_case : SpanPointersCase ):
177+  def  test_calculate_span_pointers (self , test_case : SpanPointersCase )  ->   None :
148178 assert  (
149179 calculate_span_pointers (
150180 test_case .event_source ,
151181 test_case .event ,
182+  botocore_add_span_pointers = test_case .dd_botocore_span_pointers ,
152183 )
153184 ==  test_case .span_pointers 
154185 )
0 commit comments