From 5c3a3505b58d4063eaafca09452d634f0d0b581c Mon Sep 17 00:00:00 2001 From: kenstott <128912107+kenstott@users.noreply.github.com> Date: Thu, 7 Nov 2024 10:07:05 -0500 Subject: [PATCH] Added a python driver --- .../py_graphql_sql/examples/__init__.py | 0 .../py_graphql_sql/tests/conftest.py | 27 +++++++++++++++++++ 2 files changed, 27 insertions(+) create mode 100644 calcite-rs-jni/py_graphql_sql/examples/__init__.py create mode 100644 calcite-rs-jni/py_graphql_sql/tests/conftest.py diff --git a/calcite-rs-jni/py_graphql_sql/examples/__init__.py b/calcite-rs-jni/py_graphql_sql/examples/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/calcite-rs-jni/py_graphql_sql/tests/conftest.py b/calcite-rs-jni/py_graphql_sql/tests/conftest.py new file mode 100644 index 0000000..fe46fc0 --- /dev/null +++ b/calcite-rs-jni/py_graphql_sql/tests/conftest.py @@ -0,0 +1,27 @@ +"""PyTest configuration and fixtures.""" +from typing import Any +from unittest.mock import MagicMock +import jaydebeapi +import pytest +from py_graphql_sql import Connection, Cursor, connect + +@pytest.fixture +def mock_jdbc_connection() -> MagicMock: + """Create a mock JDBC connection.""" + conn = MagicMock() + conn.cursor.return_value = MagicMock() + return conn + +@pytest.fixture +def mock_connection(monkeypatch: pytest.MonkeyPatch, mock_jdbc_connection: MagicMock) -> Connection: + """Create a mock connection.""" + def mock_connect(*args: Any, **kwargs: Any) -> MagicMock: + return mock_jdbc_connection + + monkeypatch.setattr(jaydebeapi, 'connect', mock_connect) + return connect('driver', 'url') + +@pytest.fixture +def mock_cursor(mock_connection: Connection) -> Cursor: + """Create a mock cursor.""" + return mock_connection.cursor()