Adds NoOpTracerProvider test case for pymysql instrumentation (#2581)

This commit is contained in:
shwejan raj
2024-06-22 00:55:01 +05:30
committed by GitHub
parent a166208616
commit 593f86fd04

View File

@ -17,6 +17,7 @@ from unittest import mock
import pymysql import pymysql
import opentelemetry.instrumentation.pymysql import opentelemetry.instrumentation.pymysql
from opentelemetry import trace as trace_api
from opentelemetry.instrumentation.pymysql import PyMySQLInstrumentor from opentelemetry.instrumentation.pymysql import PyMySQLInstrumentor
from opentelemetry.sdk import resources from opentelemetry.sdk import resources
from opentelemetry.test.test_base import TestBase from opentelemetry.test.test_base import TestBase
@ -78,6 +79,20 @@ class TestPyMysqlIntegration(TestBase):
self.assertIs(span.resource, resource) self.assertIs(span.resource, resource)
@mock.patch("pymysql.connect")
# pylint: disable=unused-argument
def test_no_op_tracer_provider(self, mock_connect):
PyMySQLInstrumentor().instrument(
tracer_provider=trace_api.NoOpTracerProvider()
)
cnx = pymysql.connect(database="test")
cursor = cnx.cursor()
query = "SELECT * FROM test"
cursor.execute(query)
spans_list = self.memory_exporter.get_finished_spans()
self.assertEqual(len(spans_list), 0)
@mock.patch("pymysql.connect") @mock.patch("pymysql.connect")
# pylint: disable=unused-argument # pylint: disable=unused-argument
def test_instrument_connection(self, mock_connect): def test_instrument_connection(self, mock_connect):