@@ -763,6 +763,47 @@ def close(self):
763763 assert seen == ["status_500" ]
764764
765765
766+ def test_handle_request_error_basic_coverage (make_client , monkeypatch ):
767+ client = make_client ()
768+ transport = client .transport
769+
770+ monkeypatch .setattr (transport ._worker , "submit" , lambda fn : fn () or True )
771+
772+ # Track method calls
773+ calls = []
774+
775+ def mock_on_dropped_event (reason ):
776+ calls .append (("on_dropped_event" , reason ))
777+
778+ def mock_record_lost_event (reason , data_category = None , item = None ):
779+ calls .append (("record_lost_event" , reason , data_category , item ))
780+
781+ monkeypatch .setattr (transport , "on_dropped_event" , mock_on_dropped_event )
782+ monkeypatch .setattr (transport , "record_lost_event" , mock_record_lost_event )
783+
784+ # Test case 1: envelope is None
785+ transport ._handle_request_error (envelope = None , loss_reason = "test_reason" )
786+
787+ assert len (calls ) == 2
788+ assert calls [0 ] == ("on_dropped_event" , "test_reason" )
789+ assert calls [1 ] == ("record_lost_event" , "network_error" , "error" , None )
790+
791+ # Reset
792+ calls .clear ()
793+
794+ # Test case 2: envelope with items
795+ envelope = Envelope ()
796+ envelope .add_item (mock .MagicMock ()) # Simple mock item
797+ envelope .add_item (mock .MagicMock ()) # Another mock item
798+
799+ transport ._handle_request_error (envelope = envelope , loss_reason = "connection_error" )
800+
801+ assert len (calls ) == 3
802+ assert calls [0 ] == ("on_dropped_event" , "connection_error" )
803+ assert calls [1 ][0 :2 ] == ("record_lost_event" , "network_error" )
804+ assert calls [2 ][0 :2 ] == ("record_lost_event" , "network_error" )
805+
806+
766807@pytest .mark .asyncio
767808@pytest .mark .skipif (not PY38 , reason = "Async transport requires Python 3.8+" )
768809async def test_async_transport_background_thread_capture (
0 commit comments