Skip to content

Commit 031c4e8

Browse files
committed
Added e2e test
1 parent 871b395 commit 031c4e8

File tree

2 files changed

+13
-17
lines changed

2 files changed

+13
-17
lines changed

src/databricks/sql/client.py

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -225,8 +225,6 @@ def __del__(self):
225225
def get_session_id(self):
226226
return self.thrift_backend.handle_to_id(self._session_handle)
227227

228-
<<<<<<< HEAD
229-
=======
230228
def get_session_protocol_version(self):
231229
return self.thrift_backend.extract_protocol_version_from_handle(
232230
self._session_handle
@@ -239,7 +237,6 @@ def server_parameterized_queries_enabled(protocolVersion):
239237
else:
240238
return False
241239

242-
>>>>>>> cd93869 (Put in some unit tests, will add e2e)
243240
def get_session_id_hex(self):
244241
return self.thrift_backend.handle_to_hex_id(self._session_handle)
245242

@@ -516,13 +513,11 @@ def execute(
516513
"""
517514
if parameters is None:
518515
parameters = []
519-
<<<<<<< HEAD
520-
=======
521-
elif (not self.server_parameterized_queries_enabled(self.connection._session_handle)):
516+
517+
elif (not Connection.server_parameterized_queries_enabled(self.connection._session_handle)):
522518
raise Error(
523-
"Parameterized operations are not supported by this server. DBR 14.2 is required."
519+
"Parameterized operations are not supported by this server. DBR 14.1 is required."
524520
)
525-
>>>>>>> cd93869 (Put in some unit tests, will add e2e)
526521
else:
527522
parameters = named_parameters_to_tsparkparams(parameters)
528523

tests/e2e/common/parameterized_query_tests.py

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,10 @@
22
from decimal import Decimal
33
from enum import Enum
44
from typing import Dict, List, Tuple, Union
5+
from unittest.mock import Mock, patch, MagicMock
6+
from databricks.sql import Error
57

6-
import pytz
8+
import pytest
79

810
from databricks.sql.exc import DatabaseError
911
from databricks.sql.utils import (
@@ -29,19 +31,18 @@ def _get_one_result(self, query: str, parameters: Union[Dict, List[Dict]]) -> Tu
2931
with conn.cursor() as cursor:
3032
cursor.execute(query, parameters=parameters)
3133
return cursor.fetchone()
32-
33-
def _test_protocol_checking(self) -> Tuple:
34-
with self.connection() as conn:
35-
with conn.cursor() as cursor:
36-
cursor.execute(query, parameters=parameters)
37-
return cursor.fetchone()
38-
34+
3935
def _quantize(self, input: Union[float, int], place_value=2) -> Decimal:
4036

4137
return Decimal(str(input)).quantize(Decimal("0." + "0" * place_value))
4238

39+
@patch('databricks.sql.client.Connection.server_parameterized_queries_enabled', return_value=False)
40+
def test_protocol_too_low(self, mock_parameterized_queries_enabled):
41+
params = {"p": None}
42+
with pytest.raises(Error, match="Parameterized operations are not supported by this server. DBR 14.1 is required."):
43+
result = self._get_one_result(self.QUERY, params)
44+
4345
def test_primitive_inferred_none(self):
44-
4546
params = {"p": None}
4647
result = self._get_one_result(self.QUERY, params)
4748
assert result.col == None

0 commit comments

Comments
 (0)