Audit and test opentelemetry-instrumentation-django NoOpTracerProvider (#1611)

This commit is contained in:
Akochavi
2023-02-13 17:01:48 +02:00
committed by GitHub
parent 0a4b3b4a0c
commit 7aa4aec3a6

View File

@ -23,6 +23,7 @@ from django.http import HttpRequest, HttpResponse
from django.test import SimpleTestCase
from django.test.utils import setup_test_environment, teardown_test_environment
from opentelemetry import trace as trace_api
from opentelemetry.instrumentation.django import (
DjangoInstrumentor,
_DjangoMiddleware,
@ -424,6 +425,16 @@ class TestMiddlewareAsgiWithTracerProvider(SimpleTestCase, TestBase):
span.resource.attributes["resource-key"], "resource-value"
)
async def test_no_op_tracer_provider(self):
_django_instrumentor.uninstrument()
_django_instrumentor.instrument(
tracer_provider=trace_api.NoOpTracerProvider()
)
await self.async_client.post("/traced/")
spans = self.exporter.get_finished_spans()
self.assertEqual(len(spans), 0)
@patch.dict(
"os.environ",