From 6ca591cb4ac3b17399dfd92cd335459c9b291eb8 Mon Sep 17 00:00:00 2001 From: Filip Pawlowski Date: Fri, 21 Aug 2026 14:46:26 +0000 Subject: [PATCH 1/4] SNOW-2912540: mock _connect on v5 so local testing skips UD connection_init Co-authored-by: Cursor --- src/snowflake/snowpark/mock/_connection.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/snowflake/snowpark/mock/_connection.py b/src/snowflake/snowpark/mock/_connection.py index 92fea43002..4c09e656f3 100644 --- a/src/snowflake/snowpark/mock/_connection.py +++ b/src/snowflake/snowpark/mock/_connection.py @@ -31,6 +31,7 @@ from snowflake.snowpark._internal.error_message import SnowparkClientExceptionMessages from snowflake.snowpark._internal.server_connection import DEFAULT_STRING_SIZE from snowflake.snowpark._internal.utils import ( + IS_V5_DRIVER, is_in_stored_procedure, result_set_to_rows, ) @@ -78,6 +79,10 @@ def connect(self, **kwargs) -> None: } self._rest = Mock(**attrs) + if IS_V5_DRIVER: + # UD Connection.__init__ calls _connect(); legacy called connect(). + _connect = connect + def close(self, retry: bool = True) -> None: self._rest = None From c62cfd1f2a8c85d0b449e56f5de40abe9dc2cb55 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Filip=20Paw=C5=82owski?= Date: Fri, 21 Aug 2026 17:58:13 +0200 Subject: [PATCH 2/4] Update _connection.py --- src/snowflake/snowpark/mock/_connection.py | 28 +++++++++++++++------- 1 file changed, 19 insertions(+), 9 deletions(-) diff --git a/src/snowflake/snowpark/mock/_connection.py b/src/snowflake/snowpark/mock/_connection.py index 4c09e656f3..fd1a4d060a 100644 --- a/src/snowflake/snowpark/mock/_connection.py +++ b/src/snowflake/snowpark/mock/_connection.py @@ -70,18 +70,28 @@ def __init__(self, *args, **kwargs) -> None: self._disable_query_context_cache = True - def connect(self, **kwargs) -> None: - attrs = { - "request.return_value": { - "success": False, - "message": "Not implemented in MockConnection", - } - } - self._rest = Mock(**attrs) if IS_V5_DRIVER: # UD Connection.__init__ calls _connect(); legacy called connect(). - _connect = connect + def _connect(self, **kwargs) -> None: + attrs = { + "request.return_value": { + "success": False, + "message": "Not implemented in MockConnection", + } + } + self._rest = Mock(**attrs) + + else: + def connect(self, **kwargs) -> None: + attrs = { + "request.return_value": { + "success": False, + "message": "Not implemented in MockConnection", + } + } + self._rest = Mock(**attrs) + def close(self, retry: bool = True) -> None: self._rest = None From f0eb42ee48d61a209fda99c475f0d52cd498c59f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Filip=20Paw=C5=82owski?= Date: Fri, 21 Aug 2026 17:59:50 +0200 Subject: [PATCH 3/4] Update _connection.py --- src/snowflake/snowpark/mock/_connection.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/snowflake/snowpark/mock/_connection.py b/src/snowflake/snowpark/mock/_connection.py index fd1a4d060a..9c0962b2f5 100644 --- a/src/snowflake/snowpark/mock/_connection.py +++ b/src/snowflake/snowpark/mock/_connection.py @@ -70,7 +70,6 @@ def __init__(self, *args, **kwargs) -> None: self._disable_query_context_cache = True - if IS_V5_DRIVER: # UD Connection.__init__ calls _connect(); legacy called connect(). def _connect(self, **kwargs) -> None: @@ -92,7 +91,6 @@ def connect(self, **kwargs) -> None: } self._rest = Mock(**attrs) - def close(self, retry: bool = True) -> None: self._rest = None From e3ff578d493d8777576cd9250f635113b69aeba1 Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Wed, 2 Sep 2026 17:41:25 +0000 Subject: [PATCH 4/4] SNOW-2912540: keep mock connect() and alias _connect on v5 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Class-body if/else method defs were rewritten by black in CI. Define connect() once and alias _connect on IS_V5_DRIVER so UD __init__ hits the same no-op as the legacy connect() override. Co-authored-by: Filip Pawłowski --- src/snowflake/snowpark/mock/_connection.py | 28 ++++++++-------------- 1 file changed, 10 insertions(+), 18 deletions(-) diff --git a/src/snowflake/snowpark/mock/_connection.py b/src/snowflake/snowpark/mock/_connection.py index 9c0962b2f5..4c09e656f3 100644 --- a/src/snowflake/snowpark/mock/_connection.py +++ b/src/snowflake/snowpark/mock/_connection.py @@ -70,26 +70,18 @@ def __init__(self, *args, **kwargs) -> None: self._disable_query_context_cache = True + def connect(self, **kwargs) -> None: + attrs = { + "request.return_value": { + "success": False, + "message": "Not implemented in MockConnection", + } + } + self._rest = Mock(**attrs) + if IS_V5_DRIVER: # UD Connection.__init__ calls _connect(); legacy called connect(). - def _connect(self, **kwargs) -> None: - attrs = { - "request.return_value": { - "success": False, - "message": "Not implemented in MockConnection", - } - } - self._rest = Mock(**attrs) - - else: - def connect(self, **kwargs) -> None: - attrs = { - "request.return_value": { - "success": False, - "message": "Not implemented in MockConnection", - } - } - self._rest = Mock(**attrs) + _connect = connect def close(self, retry: bool = True) -> None: self._rest = None