33import pickle
44import gzip
55import io
6-
6+ import socket
7+ from collections import namedtuple
78from datetime import datetime , timedelta
89
910import pytest
10- from collections import namedtuple
11- from werkzeug .wrappers import Request , Response
12-
1311from pytest_localserver .http import WSGIServer
12+ from werkzeug .wrappers import Request , Response
1413
1514from sentry_sdk import Hub , Client , add_breadcrumb , capture_message , Scope
1615from sentry_sdk ._compat import datetime_utcnow
@@ -155,6 +154,19 @@ def test_transport_num_pools(make_client, num_pools, expected_num_pools):
155154 assert options ["num_pools" ] == expected_num_pools
156155
157156
157+ def test_socket_options (make_client ):
158+ socket_options = [
159+ (socket .SOL_SOCKET , socket .SO_KEEPALIVE , 1 ),
160+ (socket .SOL_TCP , socket .TCP_KEEPINTVL , 10 ),
161+ (socket .SOL_TCP , socket .TCP_KEEPCNT , 6 ),
162+ ]
163+
164+ client = make_client (socket_options = socket_options )
165+
166+ options = client .transport ._get_pool_options ([])
167+ assert options ["socket_options" ] == socket_options
168+
169+
158170def test_transport_infinite_loop (capturing_server , request , make_client ):
159171 client = make_client (
160172 debug = True ,
@@ -219,7 +231,7 @@ def test_parse_rate_limits(input, expected):
219231 assert dict (_parse_rate_limits (input , now = NOW )) == expected
220232
221233
222- def test_simple_rate_limits (capturing_server , capsys , caplog , make_client ):
234+ def test_simple_rate_limits (capturing_server , make_client ):
223235 client = make_client ()
224236 capturing_server .respond_with (code = 429 , headers = {"Retry-After" : "4" })
225237
@@ -241,7 +253,7 @@ def test_simple_rate_limits(capturing_server, capsys, caplog, make_client):
241253
242254@pytest .mark .parametrize ("response_code" , [200 , 429 ])
243255def test_data_category_limits (
244- capturing_server , capsys , caplog , response_code , make_client , monkeypatch
256+ capturing_server , response_code , make_client , monkeypatch
245257):
246258 client = make_client (send_client_reports = False )
247259
@@ -288,7 +300,7 @@ def record_lost_event(reason, data_category=None, item=None):
288300
289301@pytest .mark .parametrize ("response_code" , [200 , 429 ])
290302def test_data_category_limits_reporting (
291- capturing_server , capsys , caplog , response_code , make_client , monkeypatch
303+ capturing_server , response_code , make_client , monkeypatch
292304):
293305 client = make_client (send_client_reports = True )
294306
@@ -371,7 +383,7 @@ def intercepting_fetch(*args, **kwargs):
371383
372384@pytest .mark .parametrize ("response_code" , [200 , 429 ])
373385def test_complex_limits_without_data_category (
374- capturing_server , capsys , caplog , response_code , make_client
386+ capturing_server , response_code , make_client
375387):
376388 client = make_client ()
377389 capturing_server .respond_with (
0 commit comments