@@ -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