Skip to content

Commit be1e3ca

Browse files
committed
NoOpTracerProvider test cases added
Signed-off-by: Shwejan Bhupathi <[email protected]>
1 parent f8758c6 commit be1e3ca

File tree

1 file changed

+91
-0
lines changed

1 file changed

+91
-0
lines changed

instrumentation/opentelemetry-instrumentation-botocore/tests/test_botocore_instrumentation.py

Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,19 @@ def test_traced_client(self):
111111
request_id = "fdcdcab1-ae5c-489e-9c33-4637c5dda355"
112112
self.assert_span("EC2", "DescribeInstances", request_id=request_id)
113113

114+
@mock_ec2
115+
def test_no_op_tracer_provider_ec2(self):
116+
BotocoreInstrumentor().uninstrument()
117+
BotocoreInstrumentor().instrument(
118+
tracer_provider = trace_api.NoOpTracerProvider()
119+
)
120+
121+
ec2 = self._make_client("ec2")
122+
ec2.describe_instances()
123+
124+
spans_list = self.memory_exporter.get_finished_spans()
125+
self.assertEqual(len(spans_list), 0)
126+
114127
@mock_ec2
115128
def test_not_recording(self):
116129
mock_tracer = Mock()
@@ -155,7 +168,20 @@ def test_s3_client(self):
155168

156169
s3.list_buckets()
157170
self.assert_span("S3", "ListBuckets")
171+
172+
@mock_s3
173+
def test_no_op_tracer_provider_s3(self):
174+
BotocoreInstrumentor().uninstrument()
175+
BotocoreInstrumentor().instrument(
176+
tracer_provider = trace_api.NoOpTracerProvider()
177+
)
178+
179+
s3 = self._make_client("s3")
180+
s3.list_buckets()
158181

182+
spans_list = self.memory_exporter.get_finished_spans()
183+
self.assertEqual(len(spans_list), 0)
184+
159185
@mock_s3
160186
def test_s3_put(self):
161187
s3 = self._make_client("s3")
@@ -184,6 +210,19 @@ def test_sqs_client(self):
184210
"SQS", "ListQueues", request_id=_REQUEST_ID_REGEX_MATCH
185211
)
186212

213+
@mock_sqs
214+
def test_no_op_tracer_provider_sqs(self):
215+
BotocoreInstrumentor().uninstrument()
216+
BotocoreInstrumentor().instrument(
217+
tracer_provider = trace_api.NoOpTracerProvider()
218+
)
219+
220+
sqs = self._make_client("sqs")
221+
sqs.list_queues()
222+
223+
spans_list = self.memory_exporter.get_finished_spans()
224+
self.assertEqual(len(spans_list), 0)
225+
187226
@mock_sqs
188227
def test_sqs_send_message(self):
189228
sqs = self._make_client("sqs")
@@ -211,6 +250,19 @@ def test_kinesis_client(self):
211250

212251
kinesis.list_streams()
213252
self.assert_span("Kinesis", "ListStreams")
253+
254+
@mock_kinesis
255+
def test_no_op_tracer_provider_kinesis(self):
256+
BotocoreInstrumentor().uninstrument()
257+
BotocoreInstrumentor().instrument(
258+
tracer_provider = trace_api.NoOpTracerProvider()
259+
)
260+
261+
kinesis = self._make_client("kinesis")
262+
kinesis.list_streams()
263+
264+
spans_list = self.memory_exporter.get_finished_spans()
265+
self.assertEqual(len(spans_list), 0)
214266

215267
@mock_kinesis
216268
def test_unpatch(self):
@@ -264,6 +316,19 @@ def test_kms_client(self):
264316
self._default_span_attributes("KMS", "ListKeys"), span.attributes
265317
)
266318

319+
@mock_kms
320+
def test_no_op_tracer_provider_kms(self):
321+
BotocoreInstrumentor().uninstrument()
322+
BotocoreInstrumentor().instrument(
323+
tracer_provider = trace_api.NoOpTracerProvider()
324+
)
325+
326+
kms = self._make_client("kms")
327+
kms.list_keys(Limit=21)
328+
329+
spans_list = self.memory_exporter.get_finished_spans()
330+
self.assertEqual(len(spans_list), 0)
331+
267332
@mock_sts
268333
def test_sts_client(self):
269334
sts = self._make_client("sts")
@@ -276,6 +341,19 @@ def test_sts_client(self):
276341
# check for exact attribute set to make sure not to leak any sts secrets
277342
self.assertEqual(expected, span.attributes)
278343

344+
@mock_sts
345+
def test_no_op_tracer_provider_sts(self):
346+
BotocoreInstrumentor().uninstrument()
347+
BotocoreInstrumentor().instrument(
348+
tracer_provider = trace_api.NoOpTracerProvider()
349+
)
350+
351+
sts = self._make_client("sts")
352+
sts.get_caller_identity()
353+
354+
spans_list = self.memory_exporter.get_finished_spans()
355+
self.assertEqual(len(spans_list), 0)
356+
279357
@mock_ec2
280358
def test_propagator_injects_into_request(self):
281359
headers = {}
@@ -343,6 +421,19 @@ def test_suppress_instrumentation_xray_client(self):
343421
xray_client.put_trace_segments(TraceSegmentDocuments=["str2"])
344422
self.assertEqual(0, len(self.get_finished_spans()))
345423

424+
@mock_xray
425+
def test_no_op_tracer_provider_xray(self):
426+
BotocoreInstrumentor().uninstrument()
427+
BotocoreInstrumentor().instrument(
428+
tracer_provider = trace_api.NoOpTracerProvider()
429+
)
430+
431+
xray_client = self._make_client("xray")
432+
xray_client.put_trace_segments(TraceSegmentDocuments=["str1"])
433+
434+
spans_list = self.memory_exporter.get_finished_spans()
435+
self.assertEqual(len(spans_list), 0)
436+
346437
@mock_xray
347438
def test_suppress_http_instrumentation_xray_client(self):
348439
xray_client = self._make_client("xray")

0 commit comments

Comments
 (0)