in dataflux_core/performance_tests/list_and_download.py [0:0]
def run_download(self, config, list_result):
segmented = False
if config["expected_total_size"] > FIFTY_GB:
segmented = True
download_params = download.DataFluxDownloadOptimizationParams(
config["max_compose_bytes"])
download_start_time = time.time()
download_result = None
if config["parallelization"] and config["parallelization"] > 1:
download_result = download.dataflux_download_parallel(
config["project"],
config["bucket"],
list_result,
dataflux_download_optimization_params=download_params,
parallelization=config["parallelization"],
)
else:
download_result = download.dataflux_download(
config["project"],
config["bucket"],
list_result,
dataflux_download_optimization_params=download_params,
)
download_end_time = time.time()
downloading_time = download_end_time - download_start_time
total_size = sum([len(x) for x in download_result])
if (not segmented and config["expected_total_size"]
and total_size != config["expected_total_size"]):
raise AssertionError(
f"Expected {config['expected_total_size']} bytes but got {total_size} bytes"
)
if config["download_timeout"] and downloading_time > config[
"download_timeout"]:
raise AssertionError(
f"Expected download operation to complete in under {config['download_timeout']} seconds, but took {downloading_time} seconds."
)
return total_size