@@ -676,3 +676,44 @@ def close(self):
676676 client .flush ()
677677
678678 assert seen == ["status_500" ]
679+
680+
681+ def test_handle_request_error_basic_coverage (make_client , monkeypatch ):
682+ client = make_client ()
683+ transport = client .transport
684+
685+ monkeypatch .setattr (transport ._worker , "submit" , lambda fn : fn () or True )
686+
687+ # Track method calls
688+ calls = []
689+
690+ def mock_on_dropped_event (reason ):
691+ calls .append (("on_dropped_event" , reason ))
692+
693+ def mock_record_lost_event (reason , data_category = None , item = None ):
694+ calls .append (("record_lost_event" , reason , data_category , item ))
695+
696+ monkeypatch .setattr (transport , "on_dropped_event" , mock_on_dropped_event )
697+ monkeypatch .setattr (transport , "record_lost_event" , mock_record_lost_event )
698+
699+ # Test case 1: envelope is None
700+ transport ._handle_request_error (envelope = None , loss_reason = "test_reason" )
701+
702+ assert len (calls ) == 2
703+ assert calls [0 ] == ("on_dropped_event" , "test_reason" )
704+ assert calls [1 ] == ("record_lost_event" , "network_error" , "error" , None )
705+
706+ # Reset
707+ calls .clear ()
708+
709+ # Test case 2: envelope with items
710+ envelope = Envelope ()
711+ envelope .add_item (mock .MagicMock ()) # Simple mock item
712+ envelope .add_item (mock .MagicMock ()) # Another mock item
713+
714+ transport ._handle_request_error (envelope = envelope , loss_reason = "connection_error" )
715+
716+ assert len (calls ) == 3
717+ assert calls [0 ] == ("on_dropped_event" , "connection_error" )
718+ assert calls [1 ][0 :2 ] == ("record_lost_event" , "network_error" )
719+ assert calls [2 ][0 :2 ] == ("record_lost_event" , "network_error" )
0 commit comments