Skip to content

Commit 381ba5d

Browse files
committed
Adjust expected error + imporve error message
1 parent 89ca053 commit 381ba5d

File tree

2 files changed

+8
-6
lines changed

2 files changed

+8
-6
lines changed

neo4j/io/__init__.py

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1065,7 +1065,7 @@ def connect(address, *, timeout, custom_resolver, ssl_context, keep_alive):
10651065
""" Connect and perform a handshake and return a valid Connection object,
10661066
assuming a protocol version can be agreed.
10671067
"""
1068-
last_error = None
1068+
errors = []
10691069
# Establish a connection to the host and port specified
10701070
# Catches refused connections see:
10711071
# https://docs.python.org/2/library/errno.html
@@ -1080,20 +1080,22 @@ def connect(address, *, timeout, custom_resolver, ssl_context, keep_alive):
10801080
except (BoltError, DriverError, OSError) as error:
10811081
if s:
10821082
_close_socket(s)
1083-
last_error = error
1083+
errors.append(error)
10841084
except Exception:
10851085
if s:
10861086
_close_socket(s)
10871087
raise
1088-
if last_error is None:
1088+
if not errors:
10891089
raise ServiceUnavailable(
10901090
"Couldn't connect to %s (resolved to %s)" % (
10911091
str(address), tuple(map(str, resolved_addresses)))
10921092
)
10931093
else:
10941094
raise ServiceUnavailable(
1095-
"Couldn't connect to %s (resolved to %s)" % (
1096-
str(address), tuple(map(str, resolved_addresses)))
1095+
"Couldn't connect to %s (resolved to %s):\n%s" % (
1096+
str(address), tuple(map(str, resolved_addresses)),
1097+
"\n".join(map(str, errors))
1098+
)
10971099
) from last_error
10981100

10991101

tests/stub/test_routingdriver.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -196,7 +196,7 @@ def test_neo4j_driver_verify_connectivity_server_down(driver_info, test_script):
196196
def test_cannot_discover_servers_on_non_router(driver_info, test_script):
197197
# python -m pytest tests/stub/test_routingdriver.py -s -v -k test_cannot_discover_servers_on_non_router
198198
with StubCluster(test_script):
199-
with pytest.raises(ServiceUnavailable):
199+
with pytest.raises(SessionExpired):
200200
with GraphDatabase.driver(driver_info["uri_neo4j"], auth=driver_info["auth_token"]) as driver:
201201
assert isinstance(driver, Neo4jDriver)
202202
driver._pool.update_routing_table(database=None, bookmarks=None)

0 commit comments

Comments
 (0)