Skip to content

Commit 82a64da

Browse files
committed
Adds linting and updates changelog
Signed-off-by: Shwejan Bhupathi <[email protected]>
1 parent feaf13b commit 82a64da

File tree

2 files changed

+81
-6
lines changed

2 files changed

+81
-6
lines changed

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
2424
- `opentelemetry-instrumentation-asgi`, `opentelemetry-instrumentation-fastapi`, `opentelemetry-instrumentation-starlette` Use `tracer` and `meter` of originating components instead of one from `asgi` middleware
2525
([#2580](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2580))
2626

27+
### Added
28+
29+
- `opentelemtry-instrumentation-botocore` Adds test case for NoOpTracerProvider ([#2586](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2586))
30+
2731
### Fixed
2832

2933
- `opentelemetry-instrumentation-httpx` Ensure httpx.get or httpx.request like methods are instrumented

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

Lines changed: 77 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,19 @@ def test_traced_client(self):
103103
request_id = "fdcdcab1-ae5c-489e-9c33-4637c5dda355"
104104
self.assert_span("EC2", "DescribeInstances", request_id=request_id)
105105

106+
@mock_aws
107+
def test_no_op_tracer_provider_ec2(self):
108+
BotocoreInstrumentor().uninstrument()
109+
BotocoreInstrumentor().instrument(
110+
tracer_provider=trace_api.NoOpTracerProvider()
111+
)
112+
113+
ec2 = self._make_client("ec2")
114+
ec2.describe_instances()
115+
116+
spans_list = self.memory_exporter.get_finished_spans()
117+
self.assertEqual(len(spans_list), 0)
118+
106119
@mock_aws
107120
def test_not_recording(self):
108121
mock_tracer = Mock()
@@ -147,14 +160,20 @@ def test_s3_client(self):
147160

148161
s3.list_buckets()
149162
self.assert_span("S3", "ListBuckets")
150-
151-
@mock_s3
163+
164+
@mock_aws
152165
def test_no_op_tracer_provider_s3(self):
153166
BotocoreInstrumentor().uninstrument()
154167
BotocoreInstrumentor().instrument(
155-
tracer_provider = trace_api.NoOpTracerProvider()
168+
tracer_provider=trace_api.NoOpTracerProvider()
156169
)
157170

171+
s3 = self._make_client("s3")
172+
s3.list_buckets()
173+
174+
spans_list = self.memory_exporter.get_finished_spans()
175+
self.assertEqual(len(spans_list), 0)
176+
158177
@mock_aws
159178
def test_s3_put(self):
160179
s3 = self._make_client("s3")
@@ -183,6 +202,19 @@ def test_sqs_client(self):
183202
"SQS", "ListQueues", request_id=_REQUEST_ID_REGEX_MATCH
184203
)
185204

205+
@mock_aws
206+
def test_no_op_tracer_provider_sqs(self):
207+
BotocoreInstrumentor().uninstrument()
208+
BotocoreInstrumentor().instrument(
209+
tracer_provider=trace_api.NoOpTracerProvider()
210+
)
211+
212+
sqs = self._make_client("sqs")
213+
sqs.list_queues()
214+
215+
spans_list = self.memory_exporter.get_finished_spans()
216+
self.assertEqual(len(spans_list), 0)
217+
186218
@mock_aws
187219
def test_sqs_send_message(self):
188220
sqs = self._make_client("sqs")
@@ -210,12 +242,12 @@ def test_kinesis_client(self):
210242

211243
kinesis.list_streams()
212244
self.assert_span("Kinesis", "ListStreams")
213-
214-
@mock_kinesis
245+
246+
@mock_aws
215247
def test_no_op_tracer_provider_kinesis(self):
216248
BotocoreInstrumentor().uninstrument()
217249
BotocoreInstrumentor().instrument(
218-
tracer_provider = trace_api.NoOpTracerProvider()
250+
tracer_provider=trace_api.NoOpTracerProvider()
219251
)
220252

221253
kinesis = self._make_client("kinesis")
@@ -276,6 +308,19 @@ def test_kms_client(self):
276308
# check for exact attribute set to make sure not to leak any kms secrets
277309
self.assertEqual(expected, dict(span.attributes))
278310

311+
@mock_aws
312+
def test_no_op_tracer_provider_kms(self):
313+
BotocoreInstrumentor().uninstrument()
314+
BotocoreInstrumentor().instrument(
315+
tracer_provider=trace_api.NoOpTracerProvider()
316+
)
317+
318+
kms = self._make_client("kms")
319+
kms.list_keys(Limit=21)
320+
321+
spans_list = self.memory_exporter.get_finished_spans()
322+
self.assertEqual(len(spans_list), 0)
323+
279324
@mock_aws
280325
def test_sts_client(self):
281326
sts = self._make_client("sts")
@@ -288,6 +333,19 @@ def test_sts_client(self):
288333
# check for exact attribute set to make sure not to leak any sts secrets
289334
self.assertEqual(expected, dict(span.attributes))
290335

336+
@mock_aws
337+
def test_no_op_tracer_provider_sts(self):
338+
BotocoreInstrumentor().uninstrument()
339+
BotocoreInstrumentor().instrument(
340+
tracer_provider=trace_api.NoOpTracerProvider()
341+
)
342+
343+
sts = self._make_client("sts")
344+
sts.get_caller_identity()
345+
346+
spans_list = self.memory_exporter.get_finished_spans()
347+
self.assertEqual(len(spans_list), 0)
348+
291349
@mock_aws
292350
def test_propagator_injects_into_request(self):
293351
headers = {}
@@ -355,6 +413,19 @@ def test_suppress_instrumentation_xray_client(self):
355413
xray_client.put_trace_segments(TraceSegmentDocuments=["str2"])
356414
self.assertEqual(0, len(self.get_finished_spans()))
357415

416+
@mock_aws
417+
def test_no_op_tracer_provider_xray(self):
418+
BotocoreInstrumentor().uninstrument()
419+
BotocoreInstrumentor().instrument(
420+
tracer_provider=trace_api.NoOpTracerProvider()
421+
)
422+
423+
xray_client = self._make_client("xray")
424+
xray_client.put_trace_segments(TraceSegmentDocuments=["str1"])
425+
426+
spans_list = self.memory_exporter.get_finished_spans()
427+
self.assertEqual(len(spans_list), 0)
428+
358429
@mock_aws
359430
def test_suppress_http_instrumentation_xray_client(self):
360431
xray_client = self._make_client("xray")

0 commit comments

Comments
 (0)