1717import contextlib
1818import inspect
1919import sys
20+ import time
2021from copy import deepcopy
2122
2223import pytest
3233 AsyncBolt ,
3334 AsyncNeo4jPool ,
3435)
36+ from neo4j ._async_compat import async_sleep
3537from neo4j ._async_compat .util import AsyncUtil
3638from neo4j ._conf import (
3739 RoutingConfig ,
4951from ...._async_compat import mark_async_test
5052
5153
54+ MONOTONIC_TIME_RESOLUTION = time .get_clock_info ("monotonic" ).resolution
55+
5256ROUTER1_ADDRESS = ResolvedAddress (("1.2.3.1" , 9000 ), host_name = "host" )
5357ROUTER2_ADDRESS = ResolvedAddress (("1.2.3.1" , 9001 ), host_name = "host" )
5458ROUTER3_ADDRESS = ResolvedAddress (("1.2.3.1" , 9002 ), host_name = "host" )
@@ -197,6 +201,8 @@ async def test_acquires_new_routing_table_if_stale(
197201 old_value = pool .routing_tables [db .name ].last_updated_time
198202 pool .routing_tables [db .name ].ttl = 0
199203
204+ await async_sleep (MONOTONIC_TIME_RESOLUTION * 2 )
205+
200206 cx = await pool .acquire (READ_ACCESS , 30 , db , None , None , None )
201207 await pool .release (cx )
202208 assert pool .routing_tables [db .name ].last_updated_time > old_value
@@ -218,6 +224,8 @@ async def test_removes_old_routing_table(opener):
218224 db2_rt = pool .routing_tables [TEST_DB2 .name ]
219225 db2_rt .ttl = - RoutingConfig .routing_table_purge_delay
220226
227+ await async_sleep (MONOTONIC_TIME_RESOLUTION * 2 )
228+
221229 cx = await pool .acquire (READ_ACCESS , 30 , TEST_DB1 , None , None , None )
222230 await pool .release (cx )
223231 assert pool .routing_tables [TEST_DB1 .name ].last_updated_time > old_value
0 commit comments