diff --git a/neo4j/v1/api.py b/neo4j/v1/api.py index ff9a5613c..306c534ab 100644 --- a/neo4j/v1/api.py +++ b/neo4j/v1/api.py @@ -242,8 +242,9 @@ def _disconnect(self, sync): if self._connection: if sync: self._connection.sync() - self._connection.in_use = False - self._connection = None + if self._connection: + self._connection.in_use = False + self._connection = None self._connection_access_mode = None def close(self): diff --git a/test/integration/test_session.py b/test/integration/test_session.py index 333aacdd1..bff256e41 100644 --- a/test/integration/test_session.py +++ b/test/integration/test_session.py @@ -551,6 +551,11 @@ def test_peek_at_different_stages(self): upcoming = result.peek() assert upcoming is None + def test_can_safely_exit_session_without_consuming_result(self): + with self.driver.session() as session: + session.run("RETURN 1") + assert True + class SessionCompletionTestCase(DirectIntegrationTestCase):