def test_cache_batch_mode(redis_unix_socket_path): cache = Cache(redis_options={'unix_socket_path': redis_unix_socket_path}) @cache.cache() def cache_batch_test_func(value): return value with cache.batch_mode(): pass results = [] with cache.batch_mode(): for i in range(10): rv = cache_batch_test_func(i) assert rv.is_pending assert rv.value is None results.append(rv) for i, rv in enumerate(results): assert rv.is_resolved assert rv.value == i for i in range(20): assert cache_batch_test_func(i) == i