Skip to content

Commit 67f0b59

Browse files
committed
fix: duckdb test corrections
1 parent 71bc302 commit 67f0b59

File tree

4 files changed

+10
-8
lines changed

4 files changed

+10
-8
lines changed

sqlspec/adapters/duckdb/config.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
from typing import TYPE_CHECKING, Any, cast
66

77
from duckdb import DuckDBPyConnection
8-
from duckdb import connect as duckdb_connect
98

109
from sqlspec.base import GenericDatabaseConfig, NoPoolConfig
1110
from sqlspec.exceptions import ImproperConfigurationError
@@ -176,9 +175,10 @@ def create_connection(self) -> DuckDBPyConnection:
176175
Raises:
177176
ImproperConfigurationError: If the connection could not be established or extensions could not be configured.
178177
"""
178+
import duckdb
179179

180180
try:
181-
connection = duckdb_connect(**self.connection_config_dict)
181+
connection = duckdb.connect(**self.connection_config_dict) # pyright: ignore[reportUnknownMemberType]
182182
self._configure_extensions(connection)
183183
return connection
184184
except Exception as e:

sqlspec/base.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
from abc import ABC, abstractmethod
22
from collections.abc import AsyncGenerator, Awaitable, Generator
33
from contextlib import AbstractAsyncContextManager, AbstractContextManager
4-
from dataclasses import dataclass, field
5-
from typing import Any, Generic, TypeVar, Union
4+
from dataclasses import dataclass
5+
from typing import Any, ClassVar, Generic, TypeVar, Union
66

77
__all__ = (
88
"DatabaseConfigProtocol",
@@ -18,8 +18,8 @@
1818
class DatabaseConfigProtocol(Generic[ConnectionT, PoolT], ABC):
1919
"""Protocol defining the interface for database configurations."""
2020

21-
__is_async__: bool = field(default=False, init=False)
22-
__supports_connection_pooling__: bool = field(default=False, init=False)
21+
__is_async__: ClassVar[bool] = False
22+
__supports_connection_pooling__: ClassVar[bool] = False
2323

2424
@abstractmethod
2525
def create_connection(self) -> Union[ConnectionT, Awaitable[ConnectionT]]:

tests/unit/test_adapters/test_duckdb/test_config.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
from unittest.mock import MagicMock, patch
77

88
import pytest
9+
from _pytest.fixtures import FixtureRequest
910

1011
from sqlspec.adapters.duckdb.config import DuckDBConfig, ExtensionConfig
1112
from sqlspec.exceptions import ImproperConfigurationError
@@ -217,6 +218,7 @@ def test_invalid_extensions_type_error(self) -> None:
217218
)
218219
def test_configure_extensions(
219220
self,
221+
request: FixtureRequest,
220222
mock_duckdb_connection: MagicMock,
221223
extension_config: ExtensionConfig,
222224
expected_calls: list[tuple[str, dict[str, Any]]],
@@ -228,7 +230,7 @@ def test_configure_extensions(
228230
actual_calls = []
229231
for method_name, kwargs in expected_calls:
230232
method = getattr(connection, method_name)
231-
assert method.called
233+
assert method.called, f"Method {method_name} was not called"
232234
if method_name == "execute":
233235
actual_calls.append((method_name, {"query": method.call_args.args[0]}))
234236
else:

tests/unit/test_utils/test_module_loader.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ def test_module_path(tmp_path: Path, monkeypatch: MonkeyPatch) -> None:
3737

3838
def test_import_non_existing_attribute_raises() -> None:
3939
with pytest.raises(ImportError):
40-
import_string("sqlspec.base.GenericDatabaseConfig")
40+
import_string("sqlspec.base.GenericDatabaseConfig.extra.module")
4141

4242

4343
def test_import_string_cached(tmp_path: Path, monkeypatch: MonkeyPatch) -> None:

0 commit comments

Comments
 (0)