Skip to content

Commit 916bf5e

Browse files
Add test
1 parent 388ccf0 commit 916bf5e

File tree

1 file changed

+43
-0
lines changed

1 file changed

+43
-0
lines changed

instrumentation/opentelemetry-instrumentation-dbapi/tests/test_dbapi_integration.py

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -592,6 +592,49 @@ def test_instrument_connection(self):
592592
connection2 = dbapi.instrument_connection(self.tracer, connection, "-")
593593
self.assertIs(connection2.__wrapped__, connection)
594594

595+
@mock.patch("opentelemetry.instrumentation.dbapi.DatabaseApiIntegration")
596+
def test_instrument_connection_kwargs_defaults(self, mock_dbapiint):
597+
connection = mock.Mock()
598+
# Avoid get_attributes failing because can't concatenate mock
599+
connection.database = "-"
600+
dbapi.instrument_connection(self.tracer, connection, "-")
601+
kwargs = mock_dbapiint.call_args[1]
602+
self.assertEqual(kwargs["connection_attributes"], None)
603+
self.assertEqual(kwargs["version"], "")
604+
self.assertEqual(kwargs["tracer_provider"], None)
605+
self.assertEqual(kwargs["capture_parameters"], False)
606+
self.assertEqual(kwargs["enable_commenter"], False)
607+
self.assertEqual(kwargs["commenter_options"], None)
608+
self.assertEqual(kwargs["connect_module"], None)
609+
610+
@mock.patch("opentelemetry.instrumentation.dbapi.DatabaseApiIntegration")
611+
def test_instrument_connection_kwargs_provided(self, mock_dbapiint):
612+
mock_tracer_provider = mock.MagicMock()
613+
mock_connect_module = mock.MagicMock()
614+
connection = mock.Mock()
615+
# Avoid get_attributes failing because can't concatenate mock
616+
connection.database = "-"
617+
dbapi.instrument_connection(
618+
self.tracer,
619+
connection,
620+
"-",
621+
connection_attributes={"foo": "bar"},
622+
version="test",
623+
tracer_provider=mock_tracer_provider,
624+
capture_parameters=True,
625+
enable_commenter=True,
626+
commenter_options={"foo": "bar"},
627+
connect_module=mock_connect_module,
628+
)
629+
kwargs = mock_dbapiint.call_args[1]
630+
self.assertEqual(kwargs["connection_attributes"], {"foo": "bar"})
631+
self.assertEqual(kwargs["version"], "test")
632+
self.assertEqual(kwargs["tracer_provider"], mock_tracer_provider)
633+
self.assertEqual(kwargs["capture_parameters"], True)
634+
self.assertEqual(kwargs["enable_commenter"], True)
635+
self.assertEqual(kwargs["commenter_options"], {"foo": "bar"})
636+
self.assertEqual(kwargs["connect_module"], mock_connect_module)
637+
595638
def test_uninstrument_connection(self):
596639
connection = mock.Mock()
597640
# Set connection.database to avoid a failure because mock can't

0 commit comments

Comments
 (0)