diff --git a/CHANGELOG.md b/CHANGELOG.md index 0547ffc8c..a8f36c652 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -40,6 +40,7 @@ See also https://github.com/neo4j/neo4j-python-driver/wiki for a full changelog. - `connection_acquisition_timeout` configuration option - `ValueError` on invalid values (instead of `ClientError`) - Consistently restrict the value to be strictly positive + - `TypeError` instead of `ValueError` when passing a `Query` object to `Transaction.run`. - `TransactionError` (subclass of `DriverError`) instead of `ClientError` (subclass of `Neo4jError`) when calling `session.run()` while an explicit transaction is active on that session. - This improves the differentiation between `DriverError` for client-side errors and `Neo4jError` for server-side diff --git a/src/neo4j/_async/work/transaction.py b/src/neo4j/_async/work/transaction.py index 921a29eff..983685699 100644 --- a/src/neo4j/_async/work/transaction.py +++ b/src/neo4j/_async/work/transaction.py @@ -173,8 +173,7 @@ async def run( :returns: a new :class:`neo4j.AsyncResult` object """ if isinstance(query, Query): - # TODO: 6.0 - make this a TypeError and remove lint exception - raise ValueError("Query object is only supported for session.run") # noqa: TRY004 + raise TypeError("Query object is only supported for session.run") if self._closed_flag: raise TransactionError(self, "Transaction closed") diff --git a/src/neo4j/_sync/work/transaction.py b/src/neo4j/_sync/work/transaction.py index f8a6e461a..c4a363395 100644 --- a/src/neo4j/_sync/work/transaction.py +++ b/src/neo4j/_sync/work/transaction.py @@ -173,8 +173,7 @@ def run( :returns: a new :class:`neo4j.Result` object """ if isinstance(query, Query): - # TODO: 6.0 - make this a TypeError and remove lint exception - raise ValueError("Query object is only supported for session.run") # noqa: TRY004 + raise TypeError("Query object is only supported for session.run") if self._closed_flag: raise TransactionError(self, "Transaction closed") diff --git a/tests/unit/async_/work/test_transaction.py b/tests/unit/async_/work/test_transaction.py index 98e198f1e..4b1590d66 100644 --- a/tests/unit/async_/work/test_transaction.py +++ b/tests/unit/async_/work/test_transaction.py @@ -141,7 +141,7 @@ async def test_transaction_run_takes_no_query_object(async_fake_connection): tx = AsyncTransaction( async_fake_connection, 2, None, on_closed, on_error, on_cancel, None ) - with pytest.raises(ValueError): + with pytest.raises(TypeError): await tx.run(Query("RETURN 1")) diff --git a/tests/unit/sync/work/test_transaction.py b/tests/unit/sync/work/test_transaction.py index 49ca44312..37034adaf 100644 --- a/tests/unit/sync/work/test_transaction.py +++ b/tests/unit/sync/work/test_transaction.py @@ -141,7 +141,7 @@ def test_transaction_run_takes_no_query_object(fake_connection): tx = Transaction( fake_connection, 2, None, on_closed, on_error, on_cancel, None ) - with pytest.raises(ValueError): + with pytest.raises(TypeError): tx.run(Query("RETURN 1"))