Skip to content

Commit 5ae79ce

Browse files
committed
mocked http client
Signed-off-by: Nikhil Suri <[email protected]>
1 parent e982615 commit 5ae79ce

File tree

1 file changed

+32
-11
lines changed

1 file changed

+32
-11
lines changed

tests/unit/test_client.py

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

Comments
 (0)