From c615fa74da3ad9443cc92a80902cd25360884282 Mon Sep 17 00:00:00 2001 From: avzis <107620508+avzis@users.noreply.github.com> Date: Tue, 11 Oct 2022 05:41:53 +0300 Subject: [PATCH] Add test for asgi using NoOpTracerProvider (#1367) --- CHANGELOG.md | 2 ++ .../tests/test_asgi_middleware.py | 14 ++++++++++++++ 2 files changed, 16 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index b18ef4951..0c0743d20 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -74,6 +74,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ([#1197](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1197)) - Add metric instumentation for flask ([#1186](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1186)) +- Add a test for asgi using NoOpTracerProvider + ([#1367](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1367)) ## [1.12.0rc2-0.32b0](https://github.com/open-telemetry/opentelemetry-python/releases/tag/v1.12.0rc2-0.32b0) - 2022-07-01 diff --git a/instrumentation/opentelemetry-instrumentation-asgi/tests/test_asgi_middleware.py b/instrumentation/opentelemetry-instrumentation-asgi/tests/test_asgi_middleware.py index e6b75d712..1b00ee127 100644 --- a/instrumentation/opentelemetry-instrumentation-asgi/tests/test_asgi_middleware.py +++ b/instrumentation/opentelemetry-instrumentation-asgi/tests/test_asgi_middleware.py @@ -300,6 +300,20 @@ class TestAsgiApplication(AsgiTestBase): span.resource.attributes["service-test-key"], "value" ) + def test_no_op_tracer_provider_otel_asgi(self): + app = otel_asgi.OpenTelemetryMiddleware( + simple_asgi, tracer_provider=trace_api.NoOpTracerProvider() + ) + self.seed_app(app) + self.send_default_request() + + response_start, response_body, *_ = self.get_all_output() + self.assertEqual(response_body["body"], b"*") + self.assertEqual(response_start["status"], 200) + + span_list = self.memory_exporter.get_finished_spans() + self.assertEqual(len(span_list), 0) + def test_behavior_with_scope_server_as_none(self): """Test that middleware is ok when server is none in scope."""