async def test_records_failures(): connection_tracker = MemoryConnectionTracker() node = NodeFactory() assert await connection_tracker.should_connect_to(node) is True connection_tracker.record_failure(node, HandshakeFailure()) assert await connection_tracker.should_connect_to(node) is False assert connection_tracker._record_exists(node.uri())
async def test_timeout_works(): node = NodeFactory() connection_tracker = MemoryConnectionTracker() assert await connection_tracker.should_connect_to(node) is True connection_tracker.record_failure(node, HandshakeFailure()) assert await connection_tracker.should_connect_to(node) is False record = connection_tracker._get_record(node.uri()) record.expires_at -= datetime.timedelta(seconds=120) connection_tracker.session.add(record) connection_tracker.session.commit() assert await connection_tracker.should_connect_to(node) is True