@@ -646,14 +646,31 @@ class TransactionTestSuite(unittest.TestCase):
646646 "access_token" : "tok" ,
647647 }
648648
649+ def _setup_mock_session_with_http_client (self , mock_session ):
650+ """
651+ Helper to configure a mock session with HTTP client mocks.
652+ This prevents feature flag network requests during Connection initialization.
653+ """
654+ mock_session .host = "foo"
655+
656+ # Mock HTTP client to prevent feature flag network requests
657+ mock_http_client = Mock ()
658+ mock_session .http_client = mock_http_client
659+
660+ # Mock feature flag response to prevent blocking HTTP calls
661+ mock_ff_response = Mock ()
662+ mock_ff_response .status = 200
663+ mock_ff_response .data = b'{"flags": [], "ttl_seconds": 900}'
664+ mock_http_client .request .return_value = mock_ff_response
665+
649666 def _create_mock_connection (self , mock_session_class ):
650667 """Helper to create a mocked connection for transaction tests."""
651- # Mock session
652668 mock_session = Mock ()
653669 mock_session .is_open = True
654670 mock_session .guid_hex = "test-session-id"
655- mock_session .host = "foo" # Match server_hostname from DUMMY_CONNECTION_ARGS
656671 mock_session .get_autocommit .return_value = True
672+
673+ self ._setup_mock_session_with_http_client (mock_session )
657674 mock_session_class .return_value = mock_session
658675
659676 # Create connection with ignore_transactions=False to test actual transaction functionality
@@ -737,9 +754,7 @@ def test_autocommit_setter_preserves_exception_chain(self, mock_session_class):
737754 conn = self ._create_mock_connection (mock_session_class )
738755
739756 mock_cursor = Mock ()
740- original_error = DatabaseError (
741- "Original error" , host_url = "test-host"
742- )
757+ original_error = DatabaseError ("Original error" , host_url = "test-host" )
743758 mock_cursor .execute .side_effect = original_error
744759
745760 with patch .object (conn , "cursor" , return_value = mock_cursor ):
@@ -928,7 +943,8 @@ def test_fetch_autocommit_from_server_queries_server(self, mock_session_class):
928943 mock_session = Mock ()
929944 mock_session .is_open = True
930945 mock_session .guid_hex = "test-session-id"
931- mock_session .host = "foo"
946+
947+ self ._setup_mock_session_with_http_client (mock_session )
932948 mock_session_class .return_value = mock_session
933949
934950 conn = client .Connection (
@@ -961,7 +977,8 @@ def test_fetch_autocommit_from_server_handles_false_value(self, mock_session_cla
961977 mock_session = Mock ()
962978 mock_session .is_open = True
963979 mock_session .guid_hex = "test-session-id"
964- mock_session .host = "foo"
980+
981+ self ._setup_mock_session_with_http_client (mock_session )
965982 mock_session_class .return_value = mock_session
966983
967984 conn = client .Connection (
@@ -989,7 +1006,8 @@ def test_fetch_autocommit_from_server_raises_on_no_result(self, mock_session_cla
9891006 mock_session = Mock ()
9901007 mock_session .is_open = True
9911008 mock_session .guid_hex = "test-session-id"
992- mock_session .host = "foo"
1009+
1010+ self ._setup_mock_session_with_http_client (mock_session )
9931011 mock_session_class .return_value = mock_session
9941012
9951013 conn = client .Connection (
@@ -1019,7 +1037,8 @@ def test_commit_is_noop_when_ignore_transactions_true(self, mock_session_class):
10191037 mock_session = Mock ()
10201038 mock_session .is_open = True
10211039 mock_session .guid_hex = "test-session-id"
1022- mock_session .host = "foo"
1040+
1041+ self ._setup_mock_session_with_http_client (mock_session )
10231042 mock_session_class .return_value = mock_session
10241043
10251044 # Create connection with ignore_transactions=True (default)
@@ -1048,7 +1067,8 @@ def test_rollback_raises_not_supported_when_ignore_transactions_true(
10481067 mock_session = Mock ()
10491068 mock_session .is_open = True
10501069 mock_session .guid_hex = "test-session-id"
1051- mock_session .host = "foo"
1070+
1071+ self ._setup_mock_session_with_http_client (mock_session )
10521072 mock_session_class .return_value = mock_session
10531073
10541074 # Create connection with ignore_transactions=True (default)
@@ -1074,7 +1094,8 @@ def test_autocommit_setter_is_noop_when_ignore_transactions_true(
10741094 mock_session = Mock ()
10751095 mock_session .is_open = True
10761096 mock_session .guid_hex = "test-session-id"
1077- mock_session .host = "foo"
1097+
1098+ self ._setup_mock_session_with_http_client (mock_session )
10781099 mock_session_class .return_value = mock_session
10791100
10801101 # Create connection with ignore_transactions=True (default)
0 commit comments