Skip to content

Commit 4e56e5c

Browse files
committed
ref(transport): Add test for record_loss
GH-4568
1 parent 5fd4317 commit 4e56e5c

File tree

1 file changed

+41
-0
lines changed

1 file changed

+41
-0
lines changed

tests/test_transport.py

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)