From d19aee923ba43314525084de87b3b9461d2651d0 Mon Sep 17 00:00:00 2001 From: Kowshik BV Date: Thu, 25 Jul 2024 20:47:15 +0530 Subject: [PATCH 1/3] Issue-973 NoOpTracerProvider test case for psycopg2 Signed-off-by: Kowshik BV --- .../tests/test_psycopg2_integration.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/instrumentation/opentelemetry-instrumentation-psycopg2/tests/test_psycopg2_integration.py b/instrumentation/opentelemetry-instrumentation-psycopg2/tests/test_psycopg2_integration.py index 369d63d5cf..4ee871e538 100644 --- a/instrumentation/opentelemetry-instrumentation-psycopg2/tests/test_psycopg2_integration.py +++ b/instrumentation/opentelemetry-instrumentation-psycopg2/tests/test_psycopg2_integration.py @@ -18,6 +18,7 @@ import psycopg2 import opentelemetry.instrumentation.psycopg2 +from opentelemetry import trace from opentelemetry.instrumentation.psycopg2 import Psycopg2Instrumentor from opentelemetry.sdk import resources from opentelemetry.test.test_base import TestBase @@ -260,6 +261,18 @@ def test_sqlcommenter_enabled(self, event_mocked): kwargs = event_mocked.call_args[1] self.assertEqual(kwargs["enable_commenter"], True) + @mock.patch("opentelemetry.instrumentation.dbapi.wrap_connect") + def test_sqlcommenter_enabled_no_op_tracer(self, event_mocked): + tracer_provider = trace.NoOpTracerProvider() + trace.set_tracer_provider(tracer_provider) + cnx = psycopg2.connect(database="test") + Psycopg2Instrumentor().instrument(tracer_provider=tracer_provider, enable_commenter=True) + query = "SELECT * FROM test" + cursor = cnx.cursor() + cursor.execute(query) + kwargs = event_mocked.call_args[1] + self.assertEqual(kwargs["enable_commenter"], True) + @mock.patch("opentelemetry.instrumentation.dbapi.wrap_connect") def test_sqlcommenter_disabled(self, event_mocked): cnx = psycopg2.connect(database="test") From cf9dfbad65fba79b8e2b1d10e5d223669bf2511a Mon Sep 17 00:00:00 2001 From: Kowshik BV Date: Tue, 27 Aug 2024 16:29:36 +0530 Subject: [PATCH 2/3] Linter changes Signed-off-by: Kowshik BV --- .../tests/test_psycopg2_integration.py | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/instrumentation/opentelemetry-instrumentation-psycopg2/tests/test_psycopg2_integration.py b/instrumentation/opentelemetry-instrumentation-psycopg2/tests/test_psycopg2_integration.py index 4ee871e538..c6d0dac089 100644 --- a/instrumentation/opentelemetry-instrumentation-psycopg2/tests/test_psycopg2_integration.py +++ b/instrumentation/opentelemetry-instrumentation-psycopg2/tests/test_psycopg2_integration.py @@ -262,23 +262,23 @@ def test_sqlcommenter_enabled(self, event_mocked): self.assertEqual(kwargs["enable_commenter"], True) @mock.patch("opentelemetry.instrumentation.dbapi.wrap_connect") - def test_sqlcommenter_enabled_no_op_tracer(self, event_mocked): - tracer_provider = trace.NoOpTracerProvider() - trace.set_tracer_provider(tracer_provider) + def test_sqlcommenter_disabled(self, event_mocked): cnx = psycopg2.connect(database="test") - Psycopg2Instrumentor().instrument(tracer_provider=tracer_provider, enable_commenter=True) + Psycopg2Instrumentor().instrument() query = "SELECT * FROM test" cursor = cnx.cursor() cursor.execute(query) kwargs = event_mocked.call_args[1] - self.assertEqual(kwargs["enable_commenter"], True) + self.assertEqual(kwargs["enable_commenter"], False) @mock.patch("opentelemetry.instrumentation.dbapi.wrap_connect") - def test_sqlcommenter_disabled(self, event_mocked): + def test_sqlcommenter_enabled_no_op_tracer(self, event_mocked): cnx = psycopg2.connect(database="test") - Psycopg2Instrumentor().instrument() + Psycopg2Instrumentor().instrument( + tracer_provider=trace.NoOpTracerProvider(), enable_commenter=True + ) query = "SELECT * FROM test" cursor = cnx.cursor() cursor.execute(query) kwargs = event_mocked.call_args[1] - self.assertEqual(kwargs["enable_commenter"], False) + self.assertEqual(kwargs["enable_commenter"], True) From 8936d53641e3ef7d336847b5b2c2907f07218fb1 Mon Sep 17 00:00:00 2001 From: kaushik95 Date: Tue, 3 Sep 2024 20:49:34 +0530 Subject: [PATCH 3/3] Update nooptracer test to assert that no spans are produced. Signed-off-by: kaushik95 --- .../tests/test_psycopg2_integration.py | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/instrumentation/opentelemetry-instrumentation-psycopg2/tests/test_psycopg2_integration.py b/instrumentation/opentelemetry-instrumentation-psycopg2/tests/test_psycopg2_integration.py index c6d0dac089..6671073043 100644 --- a/instrumentation/opentelemetry-instrumentation-psycopg2/tests/test_psycopg2_integration.py +++ b/instrumentation/opentelemetry-instrumentation-psycopg2/tests/test_psycopg2_integration.py @@ -271,14 +271,13 @@ def test_sqlcommenter_disabled(self, event_mocked): kwargs = event_mocked.call_args[1] self.assertEqual(kwargs["enable_commenter"], False) - @mock.patch("opentelemetry.instrumentation.dbapi.wrap_connect") - def test_sqlcommenter_enabled_no_op_tracer(self, event_mocked): - cnx = psycopg2.connect(database="test") + def test_no_op_tracer_provider(self): Psycopg2Instrumentor().instrument( - tracer_provider=trace.NoOpTracerProvider(), enable_commenter=True + tracer_provider=trace.NoOpTracerProvider() ) - query = "SELECT * FROM test" + cnx = psycopg2.connect(database="test") cursor = cnx.cursor() + query = "SELECT * FROM test" cursor.execute(query) - kwargs = event_mocked.call_args[1] - self.assertEqual(kwargs["enable_commenter"], True) + spans_list = self.memory_exporter.get_finished_spans() + self.assertEqual(len(spans_list), 0)